Лабораторная №5. Создание приложения - калькулятор действительных чисел — КиберПедия 

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Лабораторная №5. Создание приложения - калькулятор действительных чисел

2017-09-10 362
Лабораторная №5. Создание приложения - калькулятор действительных чисел 0.00 из 5.00 0 оценок
Заказать работу

Целью лабораторной работы заключается отработка навыков создания оконного приложения, библиотеки классов и их взаимодействие.

Задание:

1. Создать оконное приложение Windows Forms.

2. Разместить в главном окне приложения элементы управления для ввода чисел и отображения результата.

3. Создание библиотеки классов, в этом же проекте, для описания структуры данных чисел и операций с ними.

Краткое руководство к лабораторной работе

Создание оконного приложения уже описано выше, поэтому просто добавим на главное окно приложения необходимые элементы управления. Такие как, Button, TextBox, Label.

Следующий этап - создание библиотеки классов для структур данных и процедур операций с ними. Создадим библиотеку классов в этом же приложении и назовем ее Numbers. Для хранения чисел и операций с ними создадим структуру «число». Программный код получится:

namespace Numbers

{

public struct Number // Структура число

{

public double Value; // Поле для хранения числа

 

public Number(double value) // Конструктор числа

{

Value = value;

}

 

public Number(string valueString) // Конструктор получения числа из строки

{

Value = double.Parse(valueString);

}

public override string ToString() // Получение строки из числа

{

return Value.ToString();

}

 

// Операция сложения двух чисел

public static Number operator +(Number number1, Number number2)

{

return new Number(number1.Value + number2.Value);

}

 

// Операция вычитания

public static Number operator -(Number number1, Number number2)

{

return new Number(number1.Value - number2.Value);

}

 

// Операция умножения

public static Number operator *(Number number1, Number number2)

{

return new Number(number1.Value * number2.Value);

}

 

// Операция деления

public static Number operator /(Number number1, Number number2)

{

return new Number(number1.Value / number2.Value);

}

}

}

 

Для задания типа операции добавим перечисление «тип операции»:

namespace Numbers

{

// Перечисление - тип операции

public enum OperationType

{

Сложение,

Вычитание,

Умножение,

Деление

}

}

 

Для организации алгебраических операций создадим класс «операция»:

namespace Numbers

{

// Класс - операция

public class Operation

{

private Number number1; // Число 1

private Number number2; // Число 2

private OperationType oper; // Тип операции

public Number Result; // Результат

 

// Конструктор

public Operation(string number1str, string number2str, OperationType operType)

{

number1 = new Number (number1str);

number2 = new Number (number2str);

oper = operType;

Result = new Number(0);

}

 

// Преобразование результата в строку

public override string ToString()

{

return Result.ToString();

}

 

// Выполнение операции

public string Execute ()

{

switch (oper)

{

case OperationType.Сложение:

Result = number1 + number2;

break;

case OperationType.Вычитание:

Result = number1 - number2;

break;

case OperationType.Умножение:

Result = number1 * number2;

break;

case OperationType.Деление:

Result = number1 / number2;

break;

}

return ToString();

}

}

}

 

Теперь напишем функции элементов управления главного окна приложения.

namespace Calculator1

{

public partial class Form1: Form

{

// Обработчик события нажатия на кнопку «+»

private void button1_Click(object sender, EventArgs e)

{

Operation oper = new Operation(textBox1.Text, textBox2.Text,

OperationType.Сложение);

textBox3.Text = oper.Execute();

}

 

// Обработчик события нажатия на кнопку «-»

private void button2_Click(object sender, EventArgs e)

{

Operation oper = new Operation(textBox1.Text, textBox2.Text,

OperationType.Вычитание);

textBox3.Text = oper.Execute();

}

 

// Обработчик события нажатия на кнопку «*»

private void button3_Click(object sender, EventArgs e)

{

Operation oper = new Operation(textBox1.Text, textBox2.Text,

OperationType.Умножение);

textBox3.Text = oper.Execute();

}

 

// Обработчик события нажатия на кнопку «/»

private void button4_Click(object sender, EventArgs e)

{

Operation oper = new Operation(textBox1.Text, textBox2.Text,

OperationType.Деление);

textBox3.Text = oper.Execute();

}

}

}

Таким образом, создано оконное приложение, соответствующее целям и задачам лабораторной работы. Стоит отметить, что в ходе решения было отработана система использования классов, структур, перечислений и пространств имен для упрощения использования итогового программного кода.

 



Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.