Advertisement
Guest User

EventCalc

a guest
Oct 19th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.51 KB | None | 0 0
  1. using System;
  2.  
  3. namespace EventCalc {
  4.   class Calculator {
  5.     public double Calculate() {
  6.       First = Convert.ToDouble(Console.ReadLine());
  7.       Second = Convert.ToDouble(Console.ReadLine());
  8.  
  9.       ConsoleKeyInfo sign = Console.ReadKey(true);
  10.  
  11.       switch (sign.Key) {
  12.         case ConsoleKey.Add:
  13.           return Addition(First, Second);
  14.         case ConsoleKey.Subtract:
  15.           return Subtraction(First, Second);
  16.         case ConsoleKey.Divide:
  17.           return Division(First, Second);
  18.         case ConsoleKey.Multiply:
  19.           return Multiplication(First, Second);
  20.       }
  21.       return 0;
  22.     }
  23.  
  24.     public event Func<double, double, double> Addition;
  25.     public event Func<double, double, double> Subtraction;
  26.     public event Func<double, double, double> Division;
  27.     public event Func<double, double, double> Multiplication;
  28.  
  29.     public double First;
  30.     public double Second;
  31.   }
  32.  
  33.   class Program {
  34.     static void Main(string[] args) {
  35.       ConsoleKeyInfo key;
  36.       Calculator calc = new Calculator();
  37.  
  38.       calc.Addition += (double first, double second) => first + second;
  39.       calc.Subtraction += (double first, double second) => first - second;
  40.       calc.Division += (double first, double second) => first / second;
  41.       calc.Multiplication += (double first, double second) => first * second;
  42.  
  43.       do {
  44.         Console.Clear();
  45.         Console.WriteLine(calc.Calculate());
  46.         key = Console.ReadKey(true);
  47.       } while (key.Key != ConsoleKey.Escape);
  48.     }
  49.   }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement