Почему цикл выполняется три раза вместо одного - C#

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

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

Программа выводит конструкцию циклов в языке C#. Задача сделать так , чтоб меню опроса выползало пока не будет введен нужный символ. Вроде сделал всё правильно, но почему то это меню у меня выводит 3 раза вместо одного.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace project_3
  7. {
  8. class Program
  9. {
  10. static void Main()
  11. {
  12. char choice = '0';
  13. while (choice<'1'|choice>'5')
  14. {
  15. Console.WriteLine("Выберете последовательность операторов");
  16. Console.WriteLine("1.if-else");
  17. Console.WriteLine("2.switch-case");
  18. Console.WriteLine("3.while");
  19. Console.WriteLine("4.do-while");
  20. Console.WriteLine("5.for");
  21. choice = (char)Console.Read();
  22. }
  23.  
  24. switch (choice)
  25. {
  26. case '1':
  27. Console.Write("if(условие)\n{\nдействие;\n}\nelse\n{\nдействие\n}");
  28. break;
  29. case '2':
  30. Console.Write("switch(выражение)\n{\ncase константа 1;\nпоследовательность операторов\nbreak;\ncase константа 2;\nпоследовательность операторов\nbreak;\ncase константа n;\nпоследовательность операторов\nbreak;\ndefault;\nпоследовательность операторов\nbreak;\n}");
  31. break;
  32. case '3':
  33. Console.Write("while (условие) оператор;");
  34. break;
  35. case '4':
  36. Console.Write("do {\nоператоры;\n} while (условие);");
  37. break;
  38. case '5':
  39. Console.Write("for(инициализация переменной; условие; шаг)\n{\nблок операторов;\n{");
  40. break;
  41. default:
  42. Console.Write("Выбери ответ из списка\n");
  43.  
  44. break;
  45. }
  46. Console.ReadKey();
  47.  
  48. }
  49. }
  50. }

Решение задачи: «Почему цикл выполняется три раза вместо одного»

textual
Листинг программы
  1. choice = Console.ReadKey().KeyChar;

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


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

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

13   голосов , оценка 4.154 из 5

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

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

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