Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МІНІСТЕРСТВО ОСВІТИ І НАУКИ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
161.79 Кб
Скачать

5. Код программы

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 Calculator

{

public partial class Form1 : Form

{

int operation; //выбранная операция

double a, c, b;//переменные для вычисления математических выражений

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)//нажатие на +

{

try

{

a = Convert.ToDouble(textBox1.Text);//считываем а

if (a <= 5000000 && a >= -3000000)

{

label1.Text = Convert.ToString(a);//выводим а

textBox1.Text = "";//очищаем строку ввода

operation = '+';

label2.Text = "+";//выводим знак +

//очищаем остальные поля

label3.Text = "";

label4.Text = "";

label5.Text = "";

}

else

{

MessageBox.Show("Max value = 5000000\nMin value = -3000000!");

}

}

catch//если введено не число

{

MessageBox.Show("Входные данные неверные!");

}

}

private void button2_Click(object sender, EventArgs e)//нажатие на -

{

try

{

a = Convert.ToDouble(textBox1.Text);

if (a <= 5000000 && a >= -3000000)

{

label1.Text = Convert.ToString(a);

textBox1.Text = "";

operation = '-';

label2.Text = "-";

label3.Text = "";

label4.Text = "";

label5.Text = "";

}

else

{

MessageBox.Show("Max value = 5000000\nMin value = -3000000!");

}

}

catch

{

MessageBox.Show("Входные данные неверные!");

}

}

private void button3_Click(object sender, EventArgs e)//нажатие на *

{

try

{

a = Convert.ToDouble(textBox1.Text);

if (a <= 5000000 && a >= -3000000)

{

label1.Text = Convert.ToString(a);

textBox1.Text = "";

operation = '*';

label2.Text = "*";

label3.Text = "";

label4.Text = "";

label5.Text = "";

}

else

{

MessageBox.Show("Max value = 5000000\nMin value = -3000000!");

}

}

catch

{

MessageBox.Show("Входные данные неверные!");

}

}

private void button4_Click(object sender, EventArgs e)//нажатие на /

{

try

{

a = Convert.ToDouble(textBox1.Text);

if (a <= 5000000 && a >= -3000000)

{

label1.Text = Convert.ToString(a);

textBox1.Text = "";

operation = '/';

label2.Text = "/";

label3.Text = "";

label4.Text = "";

label5.Text = "";

}

else

{

MessageBox.Show("Max value = 5000000\nMin value = -3000000!");

}

}

catch

{

MessageBox.Show("Входные данные неверные!");

}

}

private void button5_Click(object sender, EventArgs e)//нажатие на x^0.5

{

try

{

a = Convert.ToDouble(textBox1.Text);

if (a <= 5000000 && a >= -3000000)

{

label2.Text = Convert.ToString(a) + "^0.5";

operation = 1;

label1.Text = "";

label3.Text = "";

label4.Text = "";

label5.Text = "";

}

else

{

MessageBox.Show("Max value = 5000000\nMin value = -3000000!");

}

}

catch

{

MessageBox.Show("Входные данные неверные!");

}

}

private void button6_Click(object sender, EventArgs e)//нажатие на cos(x)

{

try

{

a = Convert.ToDouble(textBox1.Text);

if (a <= 5000000 && a >= -3000000)

{

label2.Text = "cos(" + Convert.ToString(a) + ")";

operation = 2;

label1.Text = "";

label3.Text = "";

label4.Text = "";

label5.Text = "";

}

else

{

MessageBox.Show("Max value = 5000000\nMin value = -3000000!");

}

}

catch

{

MessageBox.Show("Входные данные неверные!");

}

}

private void button7_Click(object sender, EventArgs e)//нажатие на 1/x

{

try

{

a = Convert.ToDouble(textBox1.Text);

if (a <= 5000000 && a >= -3000000)

{

label2.Text = "1/" + Convert.ToString(a);

operation = 3;

label1.Text = "";

label3.Text = "";

label4.Text = "";

label5.Text = "";

}

else

{

MessageBox.Show("Max value = 5000000\nMin value = -3000000!");

}

}

catch

{

MessageBox.Show("Входные данные неверные!");

}

}

private void button10_Click(object sender, EventArgs e)//нажатие на 1

{

textBox1.Text = textBox1.Text + "1";

}

private void button11_Click(object sender, EventArgs e)//нажатие на 2

{

textBox1.Text = textBox1.Text + "2";

}

private void button12_Click(object sender, EventArgs e)//нажатие на 3

{

textBox1.Text = textBox1.Text + "3";

}

private void button13_Click(object sender, EventArgs e)//нажатие на 4

{

textBox1.Text = textBox1.Text + "4";

}

private void button14_Click(object sender, EventArgs e)//нажатие на 5

{

textBox1.Text = textBox1.Text + "5";

}

private void button15_Click(object sender, EventArgs e)//нажатие на 6

{

textBox1.Text = textBox1.Text + "6";

}

private void button16_Click(object sender, EventArgs e)//нажатие на 7

{

textBox1.Text = textBox1.Text + "7";

}

private void button17_Click(object sender, EventArgs e)//нажатие на 8

{

textBox1.Text = textBox1.Text + "8";

}

private void button18_Click(object sender, EventArgs e)//нажатие на 9

{

textBox1.Text = textBox1.Text + "9";

}

private void button19_Click(object sender, EventArgs e)//нажатие на 0

{

textBox1.Text = textBox1.Text + "0";

}

private void button20_Click(object sender, EventArgs e)//нажатие на ","

{

textBox1.Text = textBox1.Text + ",";

}

private void button21_Click(object sender, EventArgs e)//нажатие на +/-

{

if (Convert.ToDouble(textBox1.Text) > 0)

{

textBox1.Text = "-" + textBox1.Text;

}

else

{

textBox1.Text = Convert.ToString((-Convert.ToDouble(textBox1.Text)));

}

}

private void button9_Click(object sender, EventArgs e)//нажатие на C

{

textBox1.Text = "";

label1.Text = "";

label2.Text = "";

label3.Text = "";

label4.Text = "";

label5.Text = "";

}

private void button8_Click(object sender, EventArgs e)//нажатие на =

{

try

{

switch (operation)

{

case '+':

b = Convert.ToDouble(textBox1.Text);

label3.Text = Convert.ToString(b);

label4.Text = "=";

c = a + b;

label5.Text = String.Format("{0:0.0}", c);

break;

case '-':

b = Convert.ToDouble(textBox1.Text);

label3.Text = Convert.ToString(b);

label4.Text = "=";

c = a - b;

label5.Text = String.Format("{0:0.0}", c);

break;

case '*':

b = Convert.ToDouble(textBox1.Text);

label3.Text = Convert.ToString(b);

label4.Text = "=";

c = a * b;

label5.Text = String.Format("{0:0.0}", c);

break;

case '/':

b = Convert.ToDouble(textBox1.Text);

label3.Text = Convert.ToString(b);

label4.Text = "=";

c = a / b;

label5.Text = String.Format("{0:0.0}", c);

break;

case 1:

label3.Text = "=";

label4.Text = String.Format("{0:0.0}", System.Math.Sqrt(a));

break;

case 2:

label3.Text = "=";

label4.Text = String.Format("{0:0.0}", System.Math.Cos(a * Math.PI / 180));//вывод предварительно переведя градусы в радианы

break;

case 3:

label3.Text = "=";

label4.Text = String.Format("{0:0.0}",(1 / a));

break;

}

}

catch

{

MessageBox.Show("Входные данные неверные!");

}

textBox1.Text = "";

}

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

{

MessageBox.Show("Max value = 5000000\nMin value = -3000000!");

}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

if (!Char.IsDigit(e.KeyChar))//если введены не числа, запретить ввод

{

e.Handled = true;

}

}

}

}