public void ProcessOperationButton(string opPressed) { CalculationHistory = string.Empty; if (opPressed != "=") { CalculationHistory += OnScreenDisplay; } switch (opPressed) { case "MC": MemoryStore = 0; OnScreenDisplay = MemoryStore.ToString(); break; case "MR": Operation = opPressed; ProcessEqualsButton(); break; case "M+": Operation = opPressed; ProcessEqualsButton(); break; case "M-": Operation = opPressed; ProcessEqualsButton(); break; case "=": ProcessEqualsButton(); break; case "C": Clear(); break; case "CE": ClearEntry(); break; case "\u232b": if (OnScreenDisplay.Length > 1) { OnScreenDisplay = OnScreenDisplay.Remove(OnScreenDisplay.Length - 1, 1); } else { OnScreenDisplay = "0"; } break; case ",": AddToCalculationHistory(opPressed); ProcessDecimalPoint(); break; case "*": AddToCalculationHistory(opPressed); ProcessDualOperandMathOperator(opPressed); break; case "/": AddToCalculationHistory(opPressed); ProcessDualOperandMathOperator(opPressed); break; case "+": AddToCalculationHistory(opPressed); ProcessDualOperandMathOperator(opPressed); break; case "-": AddToCalculationHistory(opPressed); ProcessDualOperandMathOperator(opPressed); break; case "\u00b1": OnScreenDisplay = (-double.Parse(OnScreenDisplay)).ToString(); CalculationHistory = string.Empty; CalculationHistory += OnScreenDisplay; break; case "%": OnScreenDisplay = (double.Parse(OnScreenDisplay) / 100 * double.Parse(OnScreenDisplay)).ToString(); CalculationHistory = string.Empty; CalculationHistory += OnScreenDisplay; break; case "\u221a": OnScreenDisplay = ((decimal)Math.Sqrt(double.Parse(OnScreenDisplay))).ToString(); AddToCalculationHistory(opPressed); break; case "^2": OnScreenDisplay = ((decimal)Math.Pow(double.Parse(OnScreenDisplay), 2)).ToString(); AddToCalculationHistory(opPressed); break; case "1/x": if (OnScreenDisplay != "0") { OnScreenDisplay = ((decimal)(1 / double.Parse(OnScreenDisplay))).ToString(); } else { OnScreenDisplay = "Няма деление на нула"; } break; } }