Exemplo n.º 1
0
        public static void Main()
        {
            IStrategy strategy   = null;
            var       calculator = new PrimitiveCalculator();

            string input = Console.ReadLine();

            while (input != "End")
            {
                var tokens = input.Split();
                if (tokens[0] == "mode")
                {
                    char @operator = char.Parse(tokens[1]);
                    strategy = GetStrategy(@operator);
                    calculator.ChangeStrategy(strategy);

                    input = Console.ReadLine();
                    continue;
                }

                int result = calculator.PerformCalculation(int.Parse(tokens[0]), int.Parse(tokens[1]));
                Console.WriteLine(result);

                input = Console.ReadLine();
            }
        }
Exemplo n.º 2
0
        public static void Main()
        {
            string input      = Console.ReadLine();
            var    calculator = new PrimitiveCalculator();

            while (input != "End")
            {
                string[] inputArgs = input.Split();

                if (inputArgs[0] == "mode")
                {
                    switch (inputArgs[1])
                    {
                    case "/":
                        IStrategy division = new DevisionStrategy();
                        calculator.ChangeStrategy(division);
                        break;

                    case "*":
                        IStrategy multiply = new MultipllyStrategy();
                        calculator.ChangeStrategy(multiply);
                        break;

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

                    case "+":
                        IStrategy adding = new AdditionStrategy();
                        calculator.ChangeStrategy(adding);
                        break;

                    default:
                        throw new ArgumentException();
                    }
                }
                else
                {
                    int firstOperant  = int.Parse(inputArgs[0]);
                    int secondOperant = int.Parse(inputArgs[1]);
                    var result        = calculator.PerformCalculation(firstOperant, secondOperant);
                    Console.WriteLine(result);
                }

                input = Console.ReadLine();
            }
        }
Exemplo n.º 3
0
        public static void Main()
        {
            var input      = Console.ReadLine();
            var calculator = new PrimitiveCalculator();

            while (input != "End")
            {
                string[] inputArgs = input.Split();
                if (inputArgs[0] == "mode")
                {
                    switch (inputArgs[1][0])
                    {
                    case '/':
                        var devision = new DevisionStrategy();
                        calculator.ChangeStrategy(devision);
                        break;

                    case '*':
                        var multyplication = new MultyplicationStrategy();
                        calculator.ChangeStrategy(multyplication);
                        break;

                    case '-':
                        var substraction = new SubstractionStrategy();
                        calculator.ChangeStrategy(substraction);
                        break;

                    case '+':
                        var addition = new AdditionStrategy();
                        calculator.ChangeStrategy(addition);
                        break;
                    }
                }
                else
                {
                    int firstOperand  = int.Parse(inputArgs[0]);
                    int secondOperand = int.Parse(inputArgs[1]);

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

                    Console.WriteLine(result);
                }

                input = Console.ReadLine();
            }
        }
Exemplo n.º 4
0
        public static void Main()
        {
            PrimitiveCalculator calc = new PrimitiveCalculator();

            string[] input = Console.ReadLine().Split();
            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();
            }
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            PrimitiveCalculator calc = new PrimitiveCalculator();

            string input;

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

                if (info[0] == "mode")
                {
                    calc.ChangeStrategy(char.Parse(info[1]));
                    continue;
                }

                int num1 = int.Parse(info[0]);
                int num2 = int.Parse(info[1]);


                Console.WriteLine(calc.PerformCalculation(num1, num2));
            }
        }
Exemplo n.º 6
0
        public static void Main(string[] args)
        {
            PrimitiveCalculator calculator = new PrimitiveCalculator(new AdditionStrategy());

            string inputInfo;

            while ((inputInfo = Console.ReadLine()) != "End")
            {
                string[] split = inputInfo.Split();

                if (split[0] == "mode")
                {
                    calculator.ChangeStrategy(char.Parse(split[1]));
                }
                else
                {
                    int firstNumber  = int.Parse(split[0]);
                    int secondNumber = int.Parse(split[1]);

                    Console.WriteLine(calculator.PerformCalculation(firstNumber, secondNumber));
                }
            }
        }