Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по лабораторным.docx
Скачиваний:
42
Добавлен:
18.11.2022
Размер:
600.23 Кб
Скачать

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

Задание:

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

  1. Создать форму и нанести на неѐ три элемента TextBox, один элемент ComboBox, одну кнопку.

  2. На кнопку нанести надпись «Вычислить».

  3. Элементы TextBox снабдить поясняющими надписями «Введите первое число», «Введите второе число», «Результат вычисления».

  4. Элемент ComboBox снабдить поясняющей надписью «Выберите математическую операцию».

  5. Заполнить ComboBox следующими пунктами: +, -, *, /, \, mod.

  6. Написать программу, обеспечивающую ввод двух десятичных чисел типа Single в первые два элемента TextBox, выбор пользователем математической операции и расчѐт результата.

  7. Расчѐт осуществить при нажатии пользователем кнопки, результат поместить в третий элемент TextBox.

Ограничения:

  1. Обеспечить контроль вводимых данных.

  2. Обеспечить контроль выбранной математической операции (недопустимость деления на ноль, вычисления mod 0 и др.).

Текст программы:

Главная форма проекта:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

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

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void label4_Click(object sender, EventArgs e)

{

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

if(textBox1.Text==""||textBox2.Text=="")

{

goto end;

}

Single a, x, y;

a = Convert.ToSingle(textBox1.Text);

x = Convert.ToSingle(textBox2.Text);

if (comboBox1.SelectedIndex == 0)

{

textBox3.Clear();

y = a + x;

textBox3.AppendText(Convert.ToString(y));

}

if (comboBox1.SelectedIndex == 1)

{

textBox3.Clear();

y = a - x;

textBox3.AppendText(Convert.ToString(y));

}

if (comboBox1.SelectedIndex == 2)

{

textBox3.Clear();

y = a * x;

textBox3.AppendText(Convert.ToString(y));

}

if (comboBox1.SelectedIndex == 3)

{

textBox3.Clear();

if (x == 0)

{

MessageBox.Show("Недопустимый символ", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);

goto end;

}

y = a / x;

textBox3.AppendText(Convert.ToString(y));

}

if(comboBox1.SelectedIndex==4)

{

textBox3.Clear();

if (x == 0)

{

MessageBox.Show("Недопустимый символ", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);

goto end;

}

y = a % x;

textBox3.AppendText(Convert.ToString(y));

}

if(comboBox1.SelectedIndex==5)

{

textBox3.Clear();

if(x==0)

{

MessageBox.Show("Недопустимый символ","Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);

goto end;

}

y = Convert.ToSingle(Math.Truncate(a / x));

textBox3.AppendText(Convert.ToString(y));

}

end:

;

}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

char ch = e.KeyChar;

if(System.Char.IsControl(e.KeyChar))

{

return;

}

if (!Char.IsDigit(ch)&&ch!=8&&ch!=44&&ch!=45)

{

e.Handled = true;

}

if (!Char.IsDigit(e.KeyChar))

{

if(textBox1.Text.IndexOf(",")!=-1)

{

e.Handled = true;

}

}

if(e.KeyChar=='-'&&textBox1.Text!="")

{

e.Handled = true;

}

}

private void textBox2_KeyPress(object sender, KeyPressEventArgs e)

{

char ch = e.KeyChar;

if (System.Char.IsControl(e.KeyChar))

{

return;

}

if (!Char.IsDigit(ch) && ch != 8 && ch != 44 && ch != 45)

{

e.Handled = true;

}

if (!Char.IsDigit(e.KeyChar))

{

if (textBox2.Text.IndexOf(",") != -1)

{

e.Handled = true;

}

}

if (e.KeyChar == '-' && textBox2.Text != "")

{

e.Handled = true;

}

}

}

}

Контрольный пример:

Образец главной формы проекта:

Результаты выполнения математических действий: