public void CalculateTest(double firstArgument, double secondArgument, double expectedResult)
        {
            var calculator   = new ArithmeticCalculator();
            var actualResult = calculator.Calculate(firstArgument, secondArgument);

            Assert.AreEqual(actualResult, expectedResult);
        }
Пример #2
0
        /// <summary>
        /// Calculate inputed into Display expression
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void OnBtnEqualClick(object sender, EventArgs e)
        {
            // Calculate expression
            string mathExpression = mainWindow.tbDisplay.Text;

            mainWindow.tbDisplay.Text = ArithmeticCalculator.Calculate(mathExpression).ToString();
            // Set cursor to the end
            mainWindow.tbDisplay.CaretIndex = mainWindow.tbDisplay.Text.Length;
            //
            string newLogPost = String.Format(@"{0} =
                                {1}", mathExpression, mainWindow.tbDisplay.Text);

            mainWindow.lb_Log.Items.Add(newLogPost);
        }
Пример #3
0
        /*
         * Урок 3. Практическое задание.
         * Паписать консольную программу вычисления значения произвольного
         * математического выражения,содержащего следующие операции:
         * +---------+------------------+
         * |Опрерации| Название         |
         * |---------+------------------+
         * | +       | Унарный плюс     |
         * | -       | Унарный минус    |
         * | +       | Сложение         |
         * | -       | Вычитание        |
         * | *       | Умножение        |
         * | /       | Деление          |
         * | ()      | Скобки           |
         *
         * Для решения этой задачи требуется
         * воспользоваться обратной польской записью
         *
         * Ввод:
         * (1 + 2) * 4 + 3
         *
         * Вывод:
         * 1 2 + 4 * 3 +
         * 15
         */

        internal static void Main()
        {
            Calculator calculator = new ArithmeticCalculator();

            Console.WriteLine($"Поддерживаемые операции: {calculator.SupportedOperation}");
            Console.WriteLine("Ввод: ");
            var expression = Console.ReadLine();

            try
            {
                Console.WriteLine();
                var resultCalculation = calculator.Calculate(expression);
                Console.WriteLine("Вывод:");
                Console.WriteLine($"Выражение в ОПН: {resultCalculation.ReversePolishNotation}");
                Console.WriteLine($"Результат выражения: {resultCalculation.Value}");
            }
            catch (Exception e)
            {
                Console.WriteLine($"Ошибка: {e.Message}");
            }
        }