Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
BarsicPlus
1 / 1 / 0
Регистрация: 21.05.2014
Сообщений: 11
#1

Как можно ввести с клавиатуры символ не прерывая цикл в программе - C++

18.08.2014, 13:20. Просмотров 338. Ответов 3
Метки нет (Все метки)

Ввод символа.
Здравствуйте. У меня вопрос о том, как можно ввести с клавиатуры символ не прерывая цикл в программе.
То есть, у меня есть цикл, который постоянно выводит сообщение. И когда пользователь нажмет соответствующую клавишу на клавиатуре, цикл должен остановиться.

C++
1
2
3
4
5
6
7
while(1) {
    cout << "Enter symbol a" << endl;
 
    //Ввод символа
 
    Sleep(100);
}
Цикл должен повторяться до тех пор, пока пользователь не введет нужный символ.
Но использовать cin, getch нельзя, так как они прерывают выполнение цикла

То как быть? Какой оператор не прерывает выполнение цикла при вводе символа?
Спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2014, 13:20     Как можно ввести с клавиатуры символ не прерывая цикл в программе
Посмотрите здесь:

Одну строку инициализировать в программе, другую-ввести с клавиатуры. Сравнить данные строки по длине. C++
C++ Как ввести EOF с клавиатуры?
Как не прерывая программу запустить процесс? C++
Как отобразить вводимый символ с клавиатуры C++
C++ Одну строку инициализировать в программе, другую - ввести с клавиатуры; соединить их содержимое
C++ В тексте удалить указанный символ везде, где он встречается. Программа не позволяет ввести символ
C++ Ввести с клавиатуры символ (в переменную char) и определить, соответствует ли введенный символ 'Q' или 'q'
Как ввести с клавиатуры строку C++
C++ Ввести с клавиатуры цифру, а вывести на экран должно символ ASCII
Как ввести в программе такую функцию C++
Можно ли сменить раскладки клавиатуры в программе и если да, то как? C++
C++ Почему если в консоли ввести вместо числа любой символ, программа впадает в бесконечный цикл?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
5589 / 2623 / 239
Регистрация: 01.11.2011
Сообщений: 6,448
Завершенные тесты: 1
18.08.2014, 13:28     Как можно ввести с клавиатуры символ не прерывая цикл в программе #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Используйте kbhit().

Выход из бесконечного цикла по нажатию кнопки.
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,995
18.08.2014, 13:30     Как можно ввести с клавиатуры символ не прерывая цикл в программе #3
Цитата Сообщение от BarsicPlus Посмотреть сообщение
Здравствуйте. У меня вопрос о том, как можно ввести с клавиатуры символ не прерывая цикл в программе.
создаешь поток который отдельно следит за вводом с клавиатуры
гуглишь thread
http://scrutator.me/post/2012/04/04/...-world-p1.aspx
BarsicPlus
1 / 1 / 0
Регистрация: 21.05.2014
Сообщений: 11
18.08.2014, 15:51  [ТС]     Как можно ввести с клавиатуры символ не прерывая цикл в программе #4
SatanaXIII, Большое Спасибо. Я написал такой код:
(Может кому пригодится)

C++
1
2
3
4
while(!_kbhit()) {
    cout << "Text-Text-Text" << endl;
}
cout << "You pressed: " << (char)_getch();
dzrkot, также спасибо. Многопоточность - это сейчас для меня немного за тяжело. Но в будущем в самый раз)
Yandex
Объявления
18.08.2014, 15:51     Как можно ввести с клавиатуры символ не прерывая цикл в программе
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru