Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы Волков / Отчёт индивидуалки.docx
Скачиваний:
0
Добавлен:
09.07.2025
Размер:
2.04 Mб
Скачать

3.2 Схемы алгоритмов

При нажатии на кнопку «Закрыть», выполняется функция закрытия программы (рисунок 28).

Рисунок 28 – Схема алгоритма функции обработки нажатия на кнопку «Закрыть»

При нажатии на кнопку «Сложить», выполняется функция, складывающая заданные дроби (рисунок 29).

Рисунок 29 – Схема алгоритма функции обработки нажатия кнопки «Сложить»

При нажатии на кнопку «Умножить», выполняется функция умножения заданных значений (рисунок 30).

Рисунок 30 — Схема алгоритма функции обработки нажатия кнопки «Умножить»

При нажатии на кнопку «Делить», выполняется функция деления заданных значений (рисунок 31).

Рисунок 31 – Схема алгоритма функции обработки нажатия кнопки «Делить»

Далее на рисунках 32 - 35 представлены схемы алгоритмов проверки ввода чисел A, B, C и D.

Рисунок 32 – Схема алгоритма функции проверки ввода числа А

Рисунок 33 – Схема алгоритма функции проверки ввода числа В

Рисунок 34 – Схема алгоритма функции проверки ввода числа С

Рисунок 35 – Схема алгоритма функции проверки ввода числа D

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

private:System::Void btnClose_Click(System::Object^sender, System::EventArgs^ e)

{

this->Close();

}

private:

int a;

int b;

int c;

int d;

int m, n, i;

bool chek = false;

int ot;

int p;

private: System::Void btnSum_Click(System::Object^ sender, System::EventArgs^ e)

{

if ((txtA->Text != "") && (txtB->Text != "") && (txtC->Text != "") && (txtD->Text != ""))

{

int a = Convert::ToInt32(txtA->Text);

int b = Convert::ToInt32(txtB->Text);

int c = Convert::ToInt32(txtC->Text);

int d = Convert::ToInt32(txtD->Text);

if ((a == 0) || (b == 0) || (c == 0) || (d == 0))

{

MessageBox::Show("Вы ввели 0, 0 не натуральное число");

this->txtA->Text = L"";

this->txtB->Text = L"";

this->txtC->Text = L"";

this->txtD->Text = L"";

}

else

{

m = a * d + b * c;

n = b * d;

i = 2;

while (i <= n && i <= m)

{

if (n % i == 0 && m % i == 0)

{

n = n / i;

m = m / i;

}

else

{

i++;

}

}

txtOtvet->Text = m + "/" + n;

}

}

else

{

MessageBox::Show("Введите все числа!");

}

}

private: System::Void btnUmn_Click(System::Object^ sender, System::EventArgs^ e)

{

if ((txtA->Text != "") && (txtB->Text != "") && (txtC->Text != "") && (txtD- >Text != ""))

{

int a = Convert::ToInt32(txtA->Text);

int b = Convert::ToInt32(txtB->Text);

int c = Convert::ToInt32(txtC->Text);

int d = Convert::ToInt32(txtD->Text);

if ((a == 0) || (b == 0) || (c == 0) || (d == 0))

{

MessageBox::Show("Вы ввели 0, 0 не натуральное число");

this->txtA->Text = L"";

this->txtB->Text = L"";

this->txtC->Text = L"";

this->txtD->Text = L"";

}

else

{

m = a * c;

n = b * d;

i = 2;

while (i <= n && i <= m)

{

if (n % i == 0 && m % i == 0)

{

n = n / i;

m = m / i;

}

else

{

i++;

}

}

txtOtvet->Text = m + "/" + n;

}

}

else

{

MessageBox::Show("Введите все числа!");

}

}

private: System::Void btnDel_Click(System::Object^ sender, System::EventArgs^ e)

{

if ((txtA->Text != "") && (txtB->Text != "") && (txtC->Text != "") && (txtD->Text != ""))

{

int a = Convert::ToInt32(txtA->Text);

int b = Convert::ToInt32(txtB->Text);

int c = Convert::ToInt32(txtC->Text);

int d = Convert::ToInt32(txtD->Text);

if ((a == 0) || (b == 0) || (c == 0) || (d == 0))

{

MessageBox::Show("Вы ввели 0, 0 не натуральное число");

this->txtA->Text = L"";

this->txtB->Text = L"";

this->txtC->Text = L"";

this->txtD->Text = L"";

}

else

{

m = a * d;

n = b * c;

i = 2;

while (i <= n && i <= m)

{

if (n % i == 0 && m % i == 0)

{

n = n / i;

m = m / i;

}

else

{

i++;

}

}

txtOtvet->Text = m + "/" + n;

}

}

else

{

MessageBox::Show("Введите все числа!");

}

}

private: System::Void txtA_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)

{

if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b')

{

e->Handled = true;

}

}

private: System::Void txtB_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)

{

if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b')

{

e->Handled = true;

}

}

private: System::Void txtC_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)

{

if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b')

{

e->Handled = true;

}

}

private: System::Void txtD_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)

{

if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b')

{

e->Handled = true;

}

}

};

}