Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
wna
0 / 0 / 0
Регистрация: 05.05.2016
Сообщений: 16
1

Выход из цикла из консоли

25.08.2016, 23:01. Просмотров 688. Ответов 7
Метки нет (Все метки)

В консольном приложении пользователь запускает цикл,
выход из которого возможен только по инициативе пользователя.
Как реализовать?
При нажатии любой клавиши, или при нажатии определенной, напр. Enter.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2016, 23:01
Ответы с готовыми решениями:

С++ Выход из цикла
Есть цикл, написанный в дополнительной функции. Нужно вывести сумму нескольких...

Выход из цикла
Доброго времени суток. Подскажите, пожалуйста как сделать выход из цикла при...

Выход из цикла
Есть цикл. Он выполняется. Долго. Пока он выполняется я нажимаю Esc и он...

Выход из цикла
Ув. программисты я пишу крестики-нолики, но возникла некоторая проблема с...

Выход из консоли по нажатию клавиши
Что надо вставить, что бы по нажатию клавиши, скажем, <Enter> произошел выход...

7
John Prick
836 / 767 / 258
Регистрация: 27.07.2012
Сообщений: 2,179
Завершенные тесты: 3
25.08.2016, 23:05 2
Вопрос:
Цитата Сообщение от wna Посмотреть сообщение
Как реализовать?
Ответ:
Цитата Сообщение от wna Посмотреть сообщение
При нажатии любой клавиши, или при нажатии определенной, напр. Enter.
0
wna
0 / 0 / 0
Регистрация: 05.05.2016
Сообщений: 16
25.08.2016, 23:11  [ТС] 3
Приведите, пожалуйста, фрагмент кода.
0
John Prick
836 / 767 / 258
Регистрация: 27.07.2012
Сообщений: 2,179
Завершенные тесты: 3
25.08.2016, 23:21 4
Цитата Сообщение от wna Посмотреть сообщение
Приведите, пожалуйста, фрагмент кода.
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool end = false;
while (!end)
{
    // что-то делаем...
    std::cout << "Продолжить - (?), Выход - (?): ";
    int answer;
    std::cin >> answer;
    if (answer == EXIT_KEY) // какая-то конкретная клавиша
        end = true;
    if (end_cycle_by_key(answer)) // какой-то набор клавиш или ещё какие-то условия
        end = true;
}
1
wna
0 / 0 / 0
Регистрация: 05.05.2016
Сообщений: 16
26.08.2016, 07:47  [ТС] 5
Спасибо. Но такой вариант не подходит.
В цикле должна генериться команда с периодичностью 0,5 секунды. И прекращаться генериться по нажатию какой-либо (любой) клавиши. Те. е. недопустимо выдавать сообщение на консоль и ожидать ответа.
Псевдокод:
while (не произошло нажатие)
{

}
0
MansMI
1448 / 1157 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
26.08.2016, 07:58 6
Лучший ответ Сообщение было отмечено wna как решение

Решение

C++
1
2
3
4
while (!kbhit())
{
}
getch();
1
wna
0 / 0 / 0
Регистрация: 05.05.2016
Сообщений: 16
26.08.2016, 11:54  [ТС] 7
Спасибо, работает.
А как сделать реакцию не на все, а на определенный клавиши(напр., Enter, пробел)?
Как-то проанализировать код клавиши в условии while?
0
MaGaponov
11 / 11 / 9
Регистрация: 01.07.2015
Сообщений: 86
26.08.2016, 12:00 8
Лучший ответ Сообщение было отмечено wna как решение

Решение

C++
1
2
3
4
while (1)
{
  if (kbhit() && getch() == '1') break;
}
1
26.08.2016, 12:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2016, 12:00

Выход из двойного цикла
Как выйти при нажатии определенной кнопки из двойного цикла: #include&lt;conio.h&gt;...

Выход из цикла while знаком '|' ?
Всем привет, Страуструп дал задание выйти из цикла знаком '|'. Собственно сама...

Преждевременный выход из цикла
#include &lt;iostream&gt; using namespace std; void enter_new_note (); void...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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