Как можно улучшить имеющийся консольный калькулятор - C#

Узнай цену своей работы

Формулировка задачи:

как можно улучшить ? что можно нового добавить? в целях изучение языка и как сделать, что когда считается корень, ввести нужно было одно значение,а не как сумма 2?
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. Console.WriteLine("Калькулятор!\nВыберите одну из арифметических операций:");
  4. Console.WriteLine(@"
  5. Сложение -1
  6. Вычитание -2
  7. Умножение -3
  8. Деление -4
  9. Корень -5
  10. Степень -6");
  11. var a = Console.ReadLine();
  12. Console.Write("Введите первое значение: ");
  13. var b = double.Parse(Console.ReadLine());
  14. Console.Write("Введите второе значение: ");
  15. var c = double.Parse(Console.ReadLine());
  16.  
  17. switch (a)
  18. {
  19. case "1":
  20. Console.WriteLine("Результат = {0}", b + c);
  21. break;
  22. case "2":
  23. Console.WriteLine("Результат = {0}", b - c);
  24. break;
  25. case "3":
  26. Console.WriteLine("Результат = {0}", b * c);
  27. break;
  28. case "4":
  29. Console.WriteLine("Результат = {0}", b / c);
  30. break;
  31. case "5":
  32. Console.WriteLine("Результат = {0}", Math.Sqrt(b+c));
  33. break;
  34. case "6":
  35. Console.WriteLine("Результат = {0}", Math.Pow(b,c));
  36. break;
  37. }
  38. }

Решение задачи: «Как можно улучшить имеющийся консольный калькулятор»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleCalc1
  8. {
  9.     class Calc
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             while (true)
  14.             {
  15.                 double a, b;
  16.                 Console.WriteLine("Введите первое значение");
  17.                 if (!double.TryParse(Console.ReadLine(), out a)) {
  18.                     continue;
  19.                 }
  20.                 string q;
  21.                 do
  22.                 {
  23.                     Console.WriteLine("\nВыберите арифметическое действие:\n" +
  24.                     "- Умножение (введите *)\n" +
  25.                     "- Деление (введите /)\n" +
  26.                     "- Сложение (введите +)\n" +
  27.                     "- Вычитание (введите -)\n" +
  28.                     "- Возвести в степень (введите ^)\n" +
  29.                     "- Корень степени (введите !)");
  30.                     q = Console.ReadLine();
  31.                 } while (!ValidateOperationSign(q));
  32.                 Console.WriteLine("\nВведите второе значение");
  33.                 if (!double.TryParse(Console.ReadLine(), out b))
  34.                 {
  35.                     continue;
  36.                 }
  37.                 if (q == "*")
  38.                 {
  39.                     Console.WriteLine("\nРезультат умножения = {0}", a * b);
  40.                 }
  41.                 else if (q == "/")
  42.                 {
  43.                     Console.WriteLine("\nРезультат деления = {0}", a / b);
  44.                 }
  45.                 else if (q == "+")
  46.                 {
  47.                     Console.WriteLine("\nРезультат сложения = {0}", a + b);
  48.                 }
  49.                 else if (q == "-")
  50.                 {
  51.                     Console.WriteLine("\nРезультат вычитания = {0}", a - b);
  52.                 }
  53.                 else if (q == "^")
  54.                 {
  55.                     Console.WriteLine("\nВозведение в степень = {0}", Math.Pow(a, b));
  56.                 }
  57.                 else if (q == "!")
  58.                 {
  59.                     Console.WriteLine("\nКорень степени = {0}", Math.Pow(a, 1 / b));
  60.                 }
  61.                 Console.WriteLine("\nВыйти Q\nДля продолжения нажмите Enter");
  62.                 string z = Console.ReadLine();
  63.                 if (z == "Q" || z == "q")
  64.                 {
  65.                     break;
  66.                 }
  67.             }
  68.         }
  69.  
  70.         private static bool ValidateOperationSign(string sign)
  71.         {
  72.             switch (sign)
  73.             {
  74.                 case "*":
  75.                 case "/":
  76.                 case "+":
  77.                 case "-":
  78.                 case "^":
  79.                 case "!":
  80.                     return true;
  81.             }
  82.             return false;
  83.         }
  84.     }
  85. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы