Ant 6729

Ant 6729

  • 1.9k
  • 83
  • 925

Deliver a duplicate section of code into a separate part.

Jul 2 2019 7:10 AM
Hello everyone
 
I see there is duplication in my cases
 
Could you help me to optimize it?
  1. using System;  
  2. namespace _3_??  
  3. {  
  4. public delegate int BinaryOp(int x, int y);  
  5. public class SimpleMath  
  6. {  
  7. public static int Add(int x, int y)  
  8. return x + y; }  
  9. public static int Subtract(int x, int y)  
  10. return x - y; }  
  11. }  
  12. class Program  
  13. {  
  14. static void Main(string[] args)  
  15. {  
  16. BinaryOp b = new BinaryOp(SimpleMath.Add);  
  17. BinaryOp w = new BinaryOp(SimpleMath.Subtract);  
  18. string operationRes;  
  19. Console.WriteLine("What operations you wonna checkup? (addition/subtraction, write a/s to choose): ");  
  20. operationRes = Console.ReadLine();  
  21. Console.WriteLine("Insert first number");  
  22. int x = (Convert.ToInt16(Console.ReadLine()));  
  23. Console.WriteLine("Insert second number");  
  24. int y = (Convert.ToInt16(Console.ReadLine()));  
  25. switch (operationRes)  
  26. {  
  27. case "a":  
  28. Console.WriteLine("Insert sum of x and y");  
  29. int userresult = (Convert.ToInt16(Console.ReadLine()));  
  30. int pcresult = b(x, y);  
  31. if (userresult > pcresult)  
  32. Console.WriteLine("Something wrong with your calculations, man..." + "\n" + "Your result should be less...");  
  33. else if (userresult < pcresult)  
  34. Console.WriteLine("Something wrong with your calculations, man..." + "\n" + "Your result should be more...");  
  35. else  
  36. Console.WriteLine("Y've inserted right result!");  
  37. break;  
  38. case "s":  
  39. Console.WriteLine("Insert substraction of x and y");  
  40. int userresult2 = (Convert.ToInt16(Console.ReadLine()));  
  41. int pcresult2 = w(x, y);  
  42. if (userresult2 > pcresult2)  
  43. Console.WriteLine("Something wrong with your calculations, man..." + "\n" + "Your result should be less...");  
  44. else if (userresult2 < pcresult2)  
  45. Console.WriteLine("Something wrong with your calculations, man..." + "\n" + "Your result should be more...");  
  46. else  
  47. Console.WriteLine("Y've inserted right result!");  
  48. break;  
  49. default:  
  50. break;  
  51. }  
  52. }  
  53. }  
  54. }

Answers (1)