Обработчики событий создаются аналогично тому, как и в предыдущих лабораторных работах. Текст обработчика события нажатия на кнопку ПУСК приведен ниже.
private void button1_Click(object sender, EventArgs e)
{
// Получение исходных данных из TextBox
double x = Convert.ToDouble(textBox1.Text);
double y = Convert.ToDouble(textBox2.Text);
double z = Convert.ToDouble(textBox3.Text);
// Ввод исходных данных в окно результатов
textBox4.Text = "Результаты работы программы " +
"ст. Петрова И.И. " +
Environment.NewLine;
textBox4.Text += "При X = " + textBox1.Text +
Environment.NewLine;
textBox4.Text += "При Y = " + textBox2.Text +
Environment.NewLine;
textBox4.Text += "При Z = " + textBox3.Text +
Environment.NewLine;
// Определение номера выбранной функции
int function = 0;
// Активна первая радиокнопка?
if (radioButton1.Checked)
function = 0; // ... sin(x)
else
if (radioButton2.Checked) // Вторая?
function = 1; // ... cos(x)
else
if (radioButton3.Checked) // Третья?
function = 2; // ... exp(x)
// Вычисление U
double u = -1;
switch (function)
{
case 0: // sin(x)
if ((z - x) == 0)
u = y * Math.Sin(x) * Math.Sin(x) + z;
else
if ((z - x) < 0)
u = y * Math.Exp(Math.Sin(x)) - z;
else
u = y * Math.Sin(Math.Sin(x)) + z;
break;
case 1: // cos(x)
if ((z - x) == 0)
u = y * Math.Cos(x) * Math.Cos(x) + z;
else
if ((z - x) < 0)
u = y * Math.Exp(Math.Cos(x)) - z;
else
u = y * Math.Sin(Math.Cos(x)) + z;
break;
case 2: // exp(x)
if ((z - x) == 0)
u = y * Math.Exp(x) * Math.Exp(x) + z;
else
if ((z - x) < 0)
u = y * Math.Exp(Math.Exp(x)) - z;
else
u = y * Math.Sin(Math.Exp(x)) + z;
break;
}
if (u != -1)
textBox4.Text += "U = " + u.ToString() +
Environment.NewLine;
else
textBox4.Text += "Решение не найдено!";
}
Запустите программу и убедитесь в том, что все ветви алгоритма выполняются правильно.