コード例 #1
0
        public static IResultOutput SimpleCalculator(double firstArgument, double secondArgument, char mathOperator)
        {
            IResultOutput result = new DefaultResultOutput();

            new SimpleCalculator <IResultOutput>(firstArgument, secondArgument, mathOperator, result).Calculation();

            return(result);
        }
コード例 #2
0
        public static IResultOutput MainCalculator(string expression)
        {
            IResultOutput result = new DefaultResultOutput();

            new MainCalculator <IResultOutput>(expression, result).Calculation();

            return(result);
        }
コード例 #3
0
        static Calculation binaryApply(opType op, Calculation a, Calculation b)
        {
            //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
            IResultOutput resultOutput = new DefaultResultOutput();

            //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
            switch (op)
            {
            case opType.sum:
                return(new Calculation(a, b, new SumOperation(resultOutput).Execute));

            case opType.sub:
                return(new Calculation(a, b, new SubtractionOperation(resultOutput).Execute));

            case opType.div:
                return(new Calculation(a, b, new DivisionOperation(resultOutput).Execute));

            case opType.mul:
                return(new Calculation(a, b, new MultiplicationOperation(resultOutput).Execute));

            default: throw new ParseException();
            }
        }