示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Choose: ");
            Console.WriteLine("Print 1 for list stack, print 2 for array stack ");

            var input = Console.ReadLine();

            if (!int.TryParse(input, out int choice))
            {
                Console.WriteLine("Invalid input");
                return;
            }

            IStack stack = choice switch
            {
                1 => new ListStack(),
                2 => new ArrayStack(),
                _ => null
            };

            Console.WriteLine("Enter postfix expression: ");
            string expression = Console.ReadLine();

            var(isCorrect, result) = SuperCalculator.Calculate(expression, stack);

            if (!isCorrect)
            {
                Console.WriteLine("Invalid postfix expression");
                return;
            }

            Console.WriteLine("Result: " + result);
        }
    }
示例#2
0
        private static bool Test1(IStack stack)
        {
            string expression = "1 2 3 * +";

            var(isCorrect, result) = SuperCalculator.Calculate(expression, stack);

            return(isCorrect || result == 7);
        }
示例#3
0
        private static bool Test3(IStack stack)
        {
            string expression = "* +";

            var(isCorrect, result) = SuperCalculator.Calculate(expression, stack);

            return(!isCorrect);
        }