static void Main(string[] args)
moreCalculation calcu = new moreCalculation();
System.Console.WriteLine("Calculator");
System.Console.WriteLine("Valid Operators: +, -, *, /, ^, %");
System.Console.WriteLine();
System.Console.Write("Enter first number: ");
string inputNum1 = System.Console.ReadLine();
if (double.TryParse(inputNum1, out num1))
System.Console.Write("Enter operator: ");
string inputOperator = System.Console.ReadLine();
if ((inputOperator == "+" || inputOperator == "-" ||
inputOperator == "*" || inputOperator == "/" ||
inputOperator == "%" || inputOperator == "^"))
System.Console.Write("Enter second number: ");
string inputNum2 = System.Console.ReadLine();
if (double.TryParse(inputNum2, out num2))
calcu.calculation(num1, inputOperator, num2);
System.Console.WriteLine();
System.Console.WriteLine("Result : {0}", calcu.resultOfCalcution);
System.Console.WriteLine("Invalid input second number");
System.Console.WriteLine("Invalid input operator");
System.Console.WriteLine("Invalid input first number");
public double resultOfCalcution
public virtual void calculation(double num1, string operation, double num2)
class simpleCalculation : calculator
public override void calculation(double num1, string operation, double num2)
resultOfCalcution = num1 + num2;
resultOfCalcution = num1 - num2;
resultOfCalcution = num1 * num2;
resultOfCalcution = num1 / num2;
System.Console.WriteLine("Invalid Operation");
class moreCalculation : simpleCalculation
public double power(double num1, double num2)
for (int i = 0; i < num2; i++)
public override void calculation(double num1, string operation, double num2)
resultOfCalcution = num1 % num2;
resultOfCalcution = power(num1, num2);
base.calculation(num1, operation, num2);