Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Calculator
- {
- class Program
- {
- static void Main(string[] args)
- {
- char[] operatorOrder = { '*', '/', '+', '-' };
- string function = Console.ReadLine();
- string[] operators = { };
- string[] numbers = { };
- do
- {
- Console.WriteLine(function);
- numbers = function.Split(operatorOrder);
- operators = function.Split(numbers, StringSplitOptions.RemoveEmptyEntries);
- for (int i = 0; i < operatorOrder.Length; i++)
- {
- for (int x = 0; x < operators.Length; x++)
- {
- if (operators[x][0] == operatorOrder[i])
- {
- double number1 = double.Parse(numbers[x]);
- double number2 = double.Parse(numbers[x + 1]);
- double total = handleOperator(operatorOrder[i], number1, number2);
- string toReplace = number1.ToString() + operatorOrder[i].ToString() + number2.ToString();
- function = function.Replace(toReplace, total.ToString());
- break;
- }
- }
- }
- } while (function.Split(numbers, StringSplitOptions.RemoveEmptyEntries).Length != 0);
- Main(null);
- }
- public static double handleOperator(char op, double number1, double number2)
- {
- switch (op)
- {
- case '+':
- return number1 + number2;
- case '-':
- return number1 - number2;
- case '*':
- return number1 * number2;
- case '/':
- return number1 / number2;
- default:
- throw new Exception("Operator not handled");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement