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

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

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

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

18.08.2014, 13:20. Просмотров 351. Ответов 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++
Ввести с клавиатуры символ. Определить, является ли введённый символ буквой.Заранее благодарчик!

Ввести с клавиатуры символ (в переменную char) и определить, соответствует ли введенный символ 'Q' или 'q' - C++
1)Ввести с клавиатуры символ (в переменную char) и определить, соответствует ли введенный символ 'Q' или 'q' (использовать логический...

Можно ли сменить раскладки клавиатуры в программе и если да, то как? - C++
Здравствуйте, хотел бы узнать, есть ли в с++ возможность сменить раскладку? Например так //Была русская changeLanguage(); ...

Ввести с клавиатуры цифру, а вывести на экран должно символ ASCII - C++
Проблема, в том что я придумал себе задачу, вводить с клавиатуры цифру,а выводить на экран должно символ ASCII. Всячески пытался её...

Почему если в консоли ввести вместо числа любой символ, программа впадает в бесконечный цикл? - C++
Всем привет! Недавно начал изучать С++ и столкнулся с проблемой при создании калькулятора. Если в консоли ввести вместо числа любой...

Одну строку инициализировать в программе, другую - ввести с клавиатуры; соединить их содержимое - C++
Здравствуйте, помогите пожалуйста с такой задачкой, не могу разобраться как её решить. Одну строку инициализировать в программе,...

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

Выход из бесконечного цикла по нажатию кнопки.
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,996
18.08.2014, 13:30     Как можно ввести с клавиатуры символ не прерывая цикл в программе #3
Цитата Сообщение от BarsicPlus Посмотреть сообщение
Здравствуйте. У меня вопрос о том, как можно ввести с клавиатуры символ не прерывая цикл в программе.
создаешь поток который отдельно следит за вводом с клавиатуры
гуглишь thread
http://scrutator.me/post/2012/04/04/...-world-p1.aspx
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2014, 15:51     Как можно ввести с клавиатуры символ не прерывая цикл в программе
Еще ссылки по теме:

Одну строку инициализировать в программе, другую-ввести с клавиатуры. Сравнить данные строки по длине. - C++
Помогите пожалуйса написаль код программы, скоро сессия, а работа не сдана, потому что я не могу её написать..... Задание: Одну строку...

Как не прерывая программу запустить процесс? - C++
День добрый, есть проблема следующего плана: Необходимо программно (по результатам выбора пользователя) последовательно запустить...

В тексте удалить указанный символ везде, где он встречается. Программа не позволяет ввести символ - C++
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;cstdlib&gt; using namespace std; int main() { setlocale(0,&quot;Russian&quot;); char s; ...

Как ввести с клавиатуры строку - C++
Добрый день. У меня есть строка в которой 6000 тысяч символов, конец строки '\r\n'. Как записать все 6 тысяч символов в string...

Как ввести EOF с клавиатуры? - C++
как ввести EOF c клавиатуры ?

Как ввести в программе такую функцию - C++
Совсем недавно осваиваю с++. Не получается f присвоить эту функцию. Не знаю, как правильно вводить


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

Или воспользуйтесь поиском по форуму:
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