Пример #1
0
        // Кнопка для збереження результатів у текстовий файл
        private void save_Click(object sender, RoutedEventArgs e)
        {
            if (answerBox.Text == "")
            {
                MessageBox.Show("Результат отсутствует!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            SaveFileDialog saveFile = new SaveFileDialog();

            saveFile.FileName   = "";
            saveFile.DefaultExt = ".txt";
            saveFile.Filter     = "Text files|*.txt";
            if (saveFile.ShowDialog() == true)
            {
                using (StreamWriter sw = new StreamWriter(saveFile.FileName, false))
                {
                    sw.WriteLine(Equation.OutputEquation(odds));
                    sw.WriteLine(answerBox.Text);
                    sw.Close();
                }
            }
        }
Пример #2
0
        // Кнопка для розв'язання рівняння
        private void Calculate_Click(object sender, RoutedEventArgs e)
        {
            odds = new int[number];
            for (int i = 0; i < number; i++)
            {
                try
                {
                    odds[i] = Convert.ToInt32(oddBoxes[i].Text);
                }
                catch
                {
                    MessageBox.Show("Некорректно введены данные!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
            }

            double a = -10000;

            while (a < 10000)
            {
                if (Equation.EquationFunction(odds, a) * Equation.EquationFunction(odds, a + 0.2) < 0)
                {
                    flag_answer = true;
                }
                a += 0.2;
            }

            if (flag_answer)
            {
                double num1 = 0, num2 = 0;
                if (choice == 1)
                {
                    try
                    {
                        num1 = Convert.ToDouble(input1.Text);
                        num2 = Convert.ToDouble(input1_Copy.Text);
                    }
                    catch
                    {
                        MessageBox.Show("Некорректно введены данные!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    answerBox.Text = Equation.HalfDivide(num1, num2, odds);
                }

                else if (choice == 2)
                {
                    try
                    {
                        num1 = Convert.ToDouble(input1.Text);
                    }
                    catch
                    {
                        MessageBox.Show("Некорректно введены данные!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    answerBox.Text = Equation.Newton(num1, odds);
                }
                else if (choice == 3)
                {
                    try
                    {
                        num1 = Convert.ToDouble(input1.Text);
                        num2 = Convert.ToDouble(input1_Copy.Text);
                    }
                    catch
                    {
                        MessageBox.Show("Некорректно введены данные!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }
                    answerBox.Text = Equation.Secant(num1, num2, odds);
                }
            }
            else
            {
                answerBox.Text = "Нет корней.";
            }
        }