Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2015, 14:32   #1
paylonis
Новичок
Джуниор
 
Регистрация: 17.07.2015
Сообщений: 2
По умолчанию Простое меню

Сделал простое меню, но работает оно не так просто, как хотелось бы
Код:
do{
                Console.WriteLine("Меню:");
                Console.WriteLine("1. Ввод 1");
                Console.WriteLine("2. Ввод 2");
                Console.WriteLine("3. Выход");
                Console.Write("Ввод: ");
                input = (char)Console.Read();
                switch (input)
                {
                    case '1':
                        Console.WriteLine("Переходим к 1 вводу..");
                        break;
                    case '2':
                        Console.WriteLine("Переходим к 2 вводу..");
                        break;
                    case '3':
                        Console.WriteLine("Выход..");
                        break;
                    default:
                        Console.WriteLine("Не верный ввод");
                        break;
                }
            }while(input != '3');
Когда я ввожу '1', то в консоль выводит "Переходим к 1 вводу.."
А потом снова появляется меню и в консоль выводит "Не верный ввод"
И так 2 раза
Что здесь не так?
paylonis вне форума Ответить с цитированием
Старый 17.07.2015, 15:13   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Видимо второй и третий раз это символы конца строки (\r и \n).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.07.2015, 15:15   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так, наобум.
может заменить Read() на ReadLine() ?
Код:
String s = Console.ReadLine();
input = s.Length>0? s[0] : ' ';
или вся соль кода в том, чтобы брать ввод без ожидания Enter ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.07.2015, 15:24   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Без ожидания это ReadKey
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.07.2015, 15:27   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Без ожидания это ReadKey
точно так, Вы правы!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.07.2015, 15:32   #6
paylonis
Новичок
Джуниор
 
Регистрация: 17.07.2015
Сообщений: 2
По умолчанию

Благодарю, с ReadLine все правильно работает
paylonis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
k-е простое daniil123 Паскаль, Turbo Pascal, PascalABC.NET 0 14.12.2011 23:52
JQuery простое меню X@OC JavaScript, Ajax 4 25.09.2011 19:56
простое число Kukurudza Общие вопросы C/C++ 2 13.09.2011 14:43
Простое суммирование Trimbl Microsoft Office Excel 2 20.12.2010 08:58
Простое меню на Яве Syltan Общие вопросы по Java, Java SE, Kotlin 4 01.06.2010 20:35