Пятница, 27 Декабря 2024, 13:18

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Обработка клавиш
WereWolfДата: Воскресенье, 30 Января 2011, 22:18 | Сообщение # 1
частый гость
Сейчас нет на сайте
Привет.
Собственно вопрос: "Как по завершению программы в консоли предложить пользователю выбор по нажатию клавиши? Типо после выполнения определенных действий спросить: Хотите ли вы выйти? (Y/n). Ну и собсна обрабатывать не только букву но и слово (y==yes || n == no)"

Я думал реализовать через do while. Но что то не до конца выходит:

Code

char c1;

do {  
  c1=getchar();
  putchar (c1);
    
      }  

  while (c1 != 'n');  


В мире много глюков - и с ними надо жить!!!
ezhickovichДата: Воскресенье, 30 Января 2011, 22:29 | Сообщение # 2
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Можно просто проверять первый символ (при y или yes, он будет одинаковый), можно сравнивать всю строку... (с помощью strstr к примеру)


Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
WereWolfДата: Воскресенье, 30 Января 2011, 22:45 | Сообщение # 3
частый гость
Сейчас нет на сайте
как выполнять выход по нажатию клавиши? break?
и как выполнять программу снова?


В мире много глюков - и с ними надо жить!!!
StageДата: Воскресенье, 30 Января 2011, 23:35 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Code

char Ask()
{
         char ask;
         do
         {       
             printf("Repeat? (y/n) ");
             scanf("%c", &ask);        
           
         }while(!strchr("yn", ask)); // strchr возвращает нулевой указатель, если передаваемые символы из строки не найдены в ask
              
       return ask;
}

...

if (Ask() == 'n') { ... }      



Сообщение отредактировал Stage - Воскресенье, 30 Января 2011, 23:37
WereWolfДата: Вторник, 01 Февраля 2011, 09:48 | Сообщение # 5
частый гость
Сейчас нет на сайте
спасибо

В мире много глюков - и с ними надо жить!!!
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг