51113

Разработка калькулятора с использованием формы и компонентов Button, Label и TextBox

Лабораторная работа

Информатика, кибернетика и программирование

Разработать калькулятор с использованием формы и компонентов Button, Label и TextBox. Сделать проверку вводимых значений, реализовать 4 действия: сложение, умножение, деление, вычитание. Код программы...

Русский

2014-02-06

64.94 KB

3 чел.

ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«НАЦИОНАЛЬНЫЙ МИНЕРАЛЬНО-СЫРЬЕВОЙ УНИВЕРСИТЕТ «ГОРНЫЙ»

Лабораторные работы №1, №2

по дисциплине

«Объектно-ориентированное программирование»

Выполнил студент: Орлов Антон Юрьевич

Шифр 0402020012 группа ПОВТв-10

Специальность 230105.65 , курс 3

Санкт-Петербург

2013

Проверил:   _________________   /  Шумова Е.О.  

Задание на работу:

Разработать калькулятор с использованием формы и компонентов Button, Label и TextBox. Сделать проверку вводимых значений, реализовать 4 действия: сложение, умножение, деление, вычитание.

Код программы (файл Form1.cs)

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace calc2

{

   public partial class Form1 : Form

   {

       //класс исключения

       public class SquareRootLessZero : System.Exception

       {

       };

       //класс исключения

       public class IncorrectSymbols : System.Exception

       {

       };

       public Form1()

       {

           InitializeComponent();

       }

       private void button1_Click(object sender, EventArgs e)

       {

           try

           {

               double i;

               if (!double.TryParse(textBox1.Text, out i) || !double.TryParse(textBox2.Text, out i))

                       throw new IncorrectSymbols();

               if (radioButton1.Checked == true)//сложение

               {

                       textBox3.Text = Convert.ToString(Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text));

               }

               else if (radioButton2.Checked == true)//вычитание

               {

                   textBox3.Text = Convert.ToString(Convert.ToDouble(textBox1.Text) - Convert.ToDouble(textBox2.Text));

               }

               else if (radioButton3.Checked == true)//умножение

               {

                   textBox3.Text = Convert.ToString(Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox2.Text));

               }                 

               else if (radioButton4.Checked == true)//деление

               {

                   if (Convert.ToDouble(textBox2.Text) == 0)

                       throw new System.DivideByZeroException();

                   else

                       textBox3.Text = Convert.ToString(Convert.ToDouble(textBox1.Text) / Convert.ToDouble(textBox2.Text));

               }

               else if (radioButton5.Checked == true)

               {

                   if (Convert.ToDouble(textBox1.Text) < 0)

                       throw new SquareRootLessZero();

                   else

                       textBox3.Text = Convert.ToString(Math.Sqrt(Convert.ToDouble(textBox1.Text)));

               }

               if (checkBox1.Checked == true && checkBox2.Checked == false)//история

                   listBox1.Items.Add(textBox3.Text);

               if (checkBox1.Checked == true && checkBox2.Checked == true)//расширенная история

               {

                   if (radioButton1.Checked == true)//сложение

                       listBox1.Items.Add(textBox1.Text + " + " + textBox2.Text + " = " + textBox3.Text);

                   else if (radioButton2.Checked == true)//вычитание

                       listBox1.Items.Add(textBox1.Text + " - " + textBox2.Text + " = " + textBox3.Text);

                   else if (radioButton3.Checked == true)//умножение

                       listBox1.Items.Add(textBox1.Text + " * " + textBox2.Text + " = " + textBox3.Text);

                   else if (radioButton4.Checked == true)//деление

                       listBox1.Items.Add(textBox1.Text + " / " + textBox2.Text + " = " + textBox3.Text);                        

                   else if (radioButton5.Checked == true)//sqrt

                       listBox1.Items.Add("sqrt(" + textBox1.Text + ") = " + textBox3.Text);

               }

           }

           catch (IncorrectSymbols IncSym)

           {

               double i;

               MessageBox.Show("Неправильный ввод!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

               if (!double.TryParse(textBox1.Text, out i) && !double.TryParse(textBox2.Text, out i))

               {

                   textBox1.Text = "0";

                   textBox2.Text = "0";

               }

               else if (!double.TryParse(textBox1.Text, out i))

                   textBox1.Text = "0";

               else

                   textBox2.Text = "0";

           }

           catch (DivideByZeroException divByZero)

           {

               textBox3.Text = "На ноль делить нельзя!";

           }

           catch (SquareRootLessZero SqrtLessZero)

           {

               textBox3.Text = "Число меньше нуля!";

           }

               

           catch (System.Exception exc)

           {

               MessageBox.Show(exc.ToString(), "Error", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);

           }

       }

       private void radioButton5_CheckedChanged(object sender, EventArgs e)

       {

           if (radioButton5.Checked == true)

           {

               textBox2.Text = "0";

               textBox2.Enabled = false;

           }

           else

           {

               textBox2.Enabled = true;

               textBox2.Text = "0";

           }

       }

       private void checkBox1_CheckedChanged(object sender, EventArgs e)

       {

           if (checkBox1.Checked == true)

               checkBox2.Show();

               //checkBox2.Enabled = true;

           else

               checkBox2.Hide();

               //checkBox2.Enabled = false;

       }

       private void выходToolStripMenuItem_Click(object sender, EventArgs e)

       {

           Application.Exit();

       }

       private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)

       {

           AboutBox1 ab = new AboutBox1();

           ab.Show();

       }

   }

}

Скриншот с результатами выполнения программы:


 

А также другие работы, которые могут Вас заинтересовать

38573. Разработка брендбука новой организации (на примере кофейни «Coffee Shop») 348 KB
  Понятия брендбука и фирменного стиля.2 Разработка фирменного стиля кофейни Coffee Shop.3 Оценка эффективности разработанного фирменного стиля и брендбука. Однако мало просто разработать фирменный стиль для достижения максимального взаимодействия между рекламистами маркетологами дизайнерами и прочими сотрудниками необходимо создать документ содержащий в себе основные константы фирменного стиля макеты рекламной и сувенирной продукции а так же объектов документооборота.
38574. РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ ПО ОБСЛУЖИВАНИЮ КЛИЕНТОВ СОЛ «РОВЕСНИК» 2.8 MB
  Язык программирования Object Pscl Среда разработки Delhi 7 СУБД SQL Нормативно-техническая документация Перечень вопросов подлежащих разработке Анализ требований Изучение и анализ предметной области задачи Разработка функциональной модели Как есть Разработка функциональной модели Как надо Обзор существующих решений Разработка технического задания Проектирование системы Построение логической модели БД Построение физической модели БД Разработка проекта системы...
38575. Исследование зрительной памяти дошкольников с интеллектуальной недостаточностью 10.18 MB
  ГЕРЦЕНА факультет коррекционной педагогики кафедра олигофренопедагогики Иванова Алёна Анатольевна Исследование зрительной памяти дошкольников с интеллектуальной недостаточностью. Литературный обзор проблемы формирования зрительной памяти у детей с интеллектуальной недостаточностью в психологопедагогической литературе 730 1.Вопросы изучения зрительной памяти в специальной литературе.Особенности нарушений зрительной памяти у детей дошкольного возраста с интеллектуальной недостаточностью .
38576. УДОСКОНАЛЕННЯ ГОСПОДАРСЬКОЇ ДІЯЛЬНОСТІ НА ДП «САРНЕНСЬКЕ ЛІСОВЕ ГОСПОДАРСТВО» 1.81 MB
  Комплексний аналіз діяльності підприємства.46 Аналіз фінансового стану підприємства.46 Аналіз персоналу підприємства58 Аналіз виробничого процесу на ДП Сарненське лісове господарство. Ринкова економіка формує нові вимоги до підприємства і його працівників.
38577. Анализ и совершенствование комплекса маркетинга на многофункциональном предприятии ООО Альфа Спа группа компаний ВНИИМИ 1.82 MB
  В комплекс маркетинга входит все, что фирма может предпринять для оказания воздействия на спрос своего товара. Многочисленные возможности можно объединить в четыре основные группы: товар, цена, методы распространения и стимулирования. Это четыре ключевых параметра, по которым и анализируется деятельность предприятия.
38578. Процессы формирования логистической стратегии управления закупками ООО «Политех-Инструмент» 1.61 MB
  От эффективной организации и управления процессом закупок во многом зависит финансовый успех большинства компаний работающих как в сфере производства так и в сфере услуг поскольку рациональное планирование величины закупок и запасов материальных ресурсов оказывает прямое влияние на цели стратегии компании и результаты ее выполнения. В процессе функционирования предприятия могут возникать дефициты запасов материальных ресурсов сырья материалов полуфабрикатов. Таким образом рациональное планирование величины закупок и запасов...
38579. Удосконалення механізму конкурентоспроможності послуг на транспортному підприємстві на прикладі служби перевезень Південної залізниці 964.5 KB
  Масивність перевезень їх відносно низька собівартість мала енергоємність висока регулярність і швидкість доставки вантажів та пасажирів забезпечення своєчасного звязку між регіонами і СНД та інші фактори вимагають ретельної уваги до роботи транспорту особливо в сучасних умовах господарювання. Досягнення цієї мети вимагає рішення наступних завдань: розглянути узагальнену характеристику механізму конкурентоспроможності транспортних підприємств; розглянути сутність конкурентоспроможності послуг; провести узагальнений аналіз...
38580. Анализ стилей ресторанов г. Твери. Организация собственного ресторана тематической кухни 1.68 MB
  Организация собственного ресторана тематической кухни 2. Фасад здания вывеска крыльцо сад стоянка для автомобилей все это элементы которые создают внешний облик ресторана. Такое несоответствие не дает посетителям представления об уровне и стиле ресторана. Стоянка для автомобилей неотъемлемая часть ресторана или кафе и ее желательно иметь.
38581. Процеси відтворення та амортизації основних засобів 1.18 MB
  Відсутність виваженої державної амортизаційної політики в Україні в період становлення ринкових відносин призвела до порушення механізму відтворення основних засобів на підприємствах наслідком якого виявилася невідповідність амортизаційних відрахувань фінансовим потребам в оновленні необоротних активів. Причинами тому стали неадекватність індексації основних засобів занижені норми амортизації через тривалі нормативні терміни експлуатації основних засобів недостатнє використання прискореної амортизації активів. В умовах формування на...