История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Целью лабораторной работы заключается отработка навыков создания оконного приложения, библиотеки классов и их взаимодействие.
Задание:
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();
}
}
}
Таким образом, создано оконное приложение, соответствующее целям и задачам лабораторной работы. Стоит отметить, что в ходе решения было отработана система использования классов, структур, перечислений и пространств имен для упрощения использования итогового программного кода.
|
|
|
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!