Пример #1
0
        static void Main(string[] args)
        {
            PrimitiveCalculator calculator = new PrimitiveCalculator();

            while (true)
            {
                var input = Console.ReadLine().Split();

                if (input[0] == "End")
                {
                    break;
                }

                if (input[0] == "mode")
                {
                    string mode = input[1];
                    ICalculatorStrategy strategy = GetCalculatorStrategy(mode);

                    calculator.ChangeStrategy(strategy);
                    continue;
                }

                int firstOperand  = int.Parse(input[0]);
                int secondOperand = int.Parse(input[1]);

                int result = calculator.PerformCalculation(firstOperand, secondOperand);

                Console.WriteLine(result);
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            PrimitiveCalculator calculator =
                new PrimitiveCalculator(new AdditionStrategy());

            string input;

            while ((input = Console.ReadLine()) != "End")
            {
                string[] tokens  = input.Split();
                string   command = tokens[0];

                if (command == "mode")
                {
                    char operand = tokens[1][0];

                    ICalculationStrategy strategy = null;

                    switch (@operand)
                    {
                    case '+':
                        strategy = new AdditionStrategy();
                        break;

                    case '-':
                        strategy = new SubtractionStrategy();
                        break;

                    case '*':
                        strategy = new MultiplicationStrategy();
                        break;

                    case '/':
                        strategy = new DivisionStrategy();
                        break;
                    }

                    if (strategy == null)
                    {
                        throw new ArgumentException("Invalid mode!");
                    }

                    calculator.ChangeStrategy(strategy);
                }
                else
                {
                    int firstOperand  = int.Parse(tokens[0]);
                    int secondOperand = int.Parse(tokens[1]);

                    int result = calculator.PerformCalculation(firstOperand, secondOperand);
                    Console.WriteLine(result);
                }
            }
        }
Пример #3
0
        public static void Main()
        {
            PrimitiveCalculator calculator = new PrimitiveCalculator();

            string[] input;
            while ((input = Console.ReadLine().Split())[0] != "End")
            {
                if (input[0] == "mode")
                {
                    calculator.ChangeStrategy(input[1][0]);
                }
                else
                {
                    int result = calculator.PerformCalculation(int.Parse(input[0]), int.Parse(input[1]));
                    Console.WriteLine(result);
                }
            }
        }
Пример #4
0
        public static void Main()
        {
            string[] input = Console.ReadLine().Split();
            var      calc  = new PrimitiveCalculator();

            while (input[0] != "End")
            {
                if (input[0] == "mode")
                {
                    calc.ChangeStrategy(char.Parse(input[1]));
                }
                else
                {
                    Console.WriteLine(calc.PerformCalculation(int.Parse(input[0]), int.Parse(input[1])));
                }

                input = Console.ReadLine().Split();
            }
        }
Пример #5
0
        static void Main(string[] args)
        {
            var calculator = new PrimitiveCalculator();

            while (true)
            {
                string line = Console.ReadLine();
                if (line == "End")
                {
                    break;
                }

                if (string.IsNullOrWhiteSpace(line))
                {
                    continue;
                }

                var inputs = line.Split(' ');

                try
                {
                    if (inputs[0] == "mode")
                    {
                        calculator.ChangeStrategy(inputs[1][0]);
                    }
                    else
                    {
                        int firstOperand  = int.Parse(inputs[0]),
                            secondOperand = int.Parse(inputs[1]);

                        int result = calculator.PerformCalculation(firstOperand, secondOperand);
                        Console.WriteLine(result);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            Console.ReadKey();
        }
Пример #6
0
        static void Main(string[] args)
        {
            PrimitiveCalculator calculator = new PrimitiveCalculator(new AdditionStrategy());

            string command;

            while ((command = Console.ReadLine()) != "End")
            {
                var input = command.Split();

                if (input[0] == "mode")
                {
                    var strategyType = input[1];

                    switch (strategyType)
                    {
                    case "+":
                        calculator.ChangeStrategy(new AdditionStrategy());
                        break;

                    case "-":
                        calculator.ChangeStrategy(new SubtractionStrategy());
                        break;

                    case "*":
                        calculator.ChangeStrategy(new MultiplicationStrategy());
                        break;

                    case "/":
                        calculator.ChangeStrategy(new DivisionStrategy());
                        break;
                    }
                }
                else
                {
                    int firstNum  = int.Parse(input[0]);
                    int secondNum = int.Parse(input[1]);
                    Console.WriteLine(calculator.PerformCalculation(firstNum, secondNum));
                }
            }
        }
Пример #7
0
        public static void Main()
        {
            PrimitiveCalculator calculator = new PrimitiveCalculator();

            while (true)
            {
                string[] input = Console.ReadLine().Split();

                if (input[0] == "End")
                {
                    break;
                }
                else if (input[0] == "mode")
                {
                    calculator.ChangeStrategy(input[1][0]);
                }
                else
                {
                    Console.WriteLine(calculator.PerformCalculation(int.Parse(input[0]), int.Parse(input[1])));
                }
            }
        }
Пример #8
0
        public static void Main()
        {
            PrimitiveCalculator calculator = new PrimitiveCalculator(new AdditionStrategy());

            string[] input = Console.ReadLine().Split();

            while (!input[0].Equals("End"))
            {
                if (input[0].Equals("mode"))
                {
                    calculator.ChangeStrategy(char.Parse(input[1]));
                }
                else
                {
                    int firstNum  = int.Parse(input[0]);
                    int secondNum = int.Parse(input[1]);

                    Console.WriteLine(calculator.PerformCalculation(firstNum, secondNum));
                }

                input = Console.ReadLine().Split();
            }
        }
Пример #9
0
        static void Main(string[] args)
        {
            var calculator = new PrimitiveCalculator(GenerateStrategyMap());

            var input = "";

            while ((input = Console.ReadLine()) != "End")
            {
                if (input.StartsWith("mode"))
                {
                    var strategy = input.Split()[1][0];
                    calculator.ChangeStrategy(strategy);
                }

                else
                {
                    var numbers = input.Split().Select(int.Parse).ToArray();

                    var result = calculator.PerformCalculation(numbers[0], numbers[1]);
                    Console.WriteLine(result);
                }
            }
        }