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

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

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

Программа выводит конструкцию циклов в языке C#. Задача сделать так , чтоб меню опроса выползало пока не будет введен нужный символ. Вроде сделал всё правильно, но почему то это меню у меня выводит 3 раза вместо одного.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace project_3
{
    class Program
    {
        static void Main()
        {
            char choice = '0';
            while (choice<'1'|choice>'5') 
            {
                Console.WriteLine("Выберете последовательность операторов");
                Console.WriteLine("1.if-else");
                Console.WriteLine("2.switch-case");
                Console.WriteLine("3.while");
                Console.WriteLine("4.do-while");
                Console.WriteLine("5.for");
                choice = (char)Console.Read();
            }

            switch (choice)
            {
                case '1':
                    Console.Write("if(условие)\n{\nдействие;\n}\nelse\n{\nдействие\n}");
                    break;
                case '2':
                    Console.Write("switch(выражение)\n{\ncase константа 1;\nпоследовательность операторов\nbreak;\ncase константа 2;\nпоследовательность операторов\nbreak;\ncase константа n;\nпоследовательность операторов\nbreak;\ndefault;\nпоследовательность операторов\nbreak;\n}");
                    break;
                case '3':
                    Console.Write("while (условие) оператор;");
                    break;
                case '4':
                    Console.Write("do {\nоператоры;\n} while (условие);");
                    break;
                case '5':
                    Console.Write("for(инициализация переменной; условие; шаг)\n{\nблок операторов;\n{");
 
                    break;
                default:
                    Console.Write("Выбери ответ из списка\n");

                    break;
                    
            }
            Console.ReadKey();

        }
    }
}

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

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

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


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

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

13   голосов , оценка 4.154 из 5
Похожие ответы