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();

       }

   }

}

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


 

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

27410. Формирование регулятивных универсальных учебных действий у младших школьников на уроках технологии 31.5 KB
  Регулятивные УУД обеспечивают обучающимся организацию своей учебной деятельности: целеполагание что известно и неизвестно; планирование определение последовательности промежуточных целей с учётом конечного результата; составление плана и последовательности действий; прогнозирование предвосхищение результата и уровня усвоения знаний его временных характеристик; контроль в форме сличения способа действия и его результата с заданным эталоном; коррекция; оценка; саморегуляция. Специфика технологии: ...
27411. Формирование познавательных универсальных учебных действий у младших школьников на уроках технологии 25.5 KB
  Познавательные УУД: общеучебные логические постановка и решение проблемы.Общеучебные: самостоятельное выделение и формулирование познавательной цели; поиск и выделение необходимой информации структурирование знаний; выбор наиболее эффективных способов решения задач в рефлексия способов и условий действия контроль и оценка процесса и результатов деятельности;формы уд для формирования ууд: учебное сотрудничество творческая проектная учебноисследовательская деятельность контрольнооценочн и рефлексивная Д Познават общеучебные ууд...
27412. Формирование коммуникативных универсальных учебных действий у младших школьников на уроках технологии 26.5 KB
  Коммуникативные УУД: ‒ планирование учебного сотрудничества с учителем и сверстниками определение цели функций участников способов взаимодействия; ‒ постановка вопросов инициативное сотрудничество в поиске и сборе информации; ‒ разрешение конфликтов выявление идентификация проблемы поиск и оценка альтернативных способов разрешения конфликта принятие решения и его реализация; ‒ управление поведением партнёра контроль коррекция оценка его действий; ‒ умение с полно и точно выражать мысли в соответствии с...
27413. Сравнительная характеристика современных программ и учебно-методических комплектов по технологии для начальной школы с учетом требований ФГОС НОО 32 KB
  УМК Перспективная начальная школа практикоориентированная направленность содержания обучения; применение знаний полученных при изучении других образовательных областей и тематические пересечения с образовательными предметами для решения технических и техно логических задач применение полученного опыта практической деятельности для выполнения домашних трудовых обязанностей. УМК Гармония; УМК Классическая начальная школа; Учебники из серии Маленький мастер Издательство АСТПРЕСС ШКОЛА; учебники образовательной системы Школа...
27414. Формирование культуры труда у младших школьников на уроках технологии 29 KB
  КУЛЬТУРА ТРУДА комплексная качественная характеристика состояния труда. Включает рациональную организацию труда благоприятные условия труда использование передовых технологий высокий профессионализм работника партнерские отношения между участниками совместного труда. способствует: сохранению здоровья работника; развитию чувства удовлетворенности трудом хорошего настроения интереса и активности при выполнении работы; росту профессиональной квалификации; профессиональной и личной самореализации; освоению рациональных приемов труда новой...
27415. Конструирование и его организация на уроках технологии в начальных классах 33 KB
  Модель и моделирование техническое моделирование и конструирование на уроках технологии получают первоначальные сведения о моделях машинах знакомятся с технической терминологией производством рабочими профессиями. Конструирование по образцу предлагают образцы построек = обеспечивается прямая передача детям готовых знаний способов действий основанная на подражании. Конструирование по условиям определяют условия которым постройка должна соответствовать. начинать моделирование и конструирование следует с простейших изделий...
27416. Проектирование/моделирование, организация и методика проведения интегрированных уроков в процессе обучения искусству 36 KB
  Уроки художественноэстетического цикла должны создавать условия для формирования и развития художественной культуры обучающихся. На протяжении работы в школе в качестве учителя изобразительного искусства хотелось сделать уроки искусства более эмоциональными запоминающимися и плодотворными а главное заинтересовать обучающихся вызвать желание творить. Проникновение современных технологий в образовательную практику в том числе и в уроки искусства открывает новые возможности и перспективы. Интегрированные уроки изобразительного искусства и...
27417. Понятие открытого образовательного пространства как пространства субъектного действия. Модульная система оргформ порождения и становления образовательного пространства в области художественного образования 48.5 KB
  Когда мы говорим о пространстве образования то имеем в виду пространство где формируется образ человека его внутренняя форма. Фомина рассматривает образовательное пространство района как систему управления развитием личности. Автор отмечает что образовательное пространство формируется с помощью целого комплекса направлений деятельности. Под образовательным пространством мы понимаем пространственновременное поле функционирования и развития системы образования как открытой и активной социальной сферы в которой действует своя идеология...
27418. Методика обучения основам синтетических видов искусства (9ый класс). Синтетические искусства и изображение (театр, кино, видео, компьютерные экранные технологии, анимация) 60 KB
  Методика обучения основам синтетических видов искусства 9ый класс. Синтетические искусства и изображение театр кино видео компьютерные экранные технологии анимация. Общая характеристика учебного предмета9 клаcc Этот тематический блок представляет собой расширение курса визуальнопластических искусств и осознание их прочной связи с синтетическими искусствами кино телевидение и др. Именно синтетические искусства непосредственно происходящие от изобразительных являются сегодня господствующими во всей системе видеокультуры.