МБ
Мусульманин Бакылы

ВЫход из консольного приложения нажатием клавиши ESC. Как прописать это в цикле do{...}while();???

do{
scanf("%d",&x);
switch (x) {
case 1: {....}
case 2:{....}
case 3:{....}
}
}while(...);

в Visual Studio не работает

ТМ
Таис Московская

do{
...
}while(getch() != 27);
насколько понял, именно это требуется. Работает 100% в mingw

Но это будет требовать нажатия в конце каждой итерации цикла, так что я бы использовал мультипоточность:

#include
#include
#include
#include
#include

using namespace std;

void esc_exit(void* p){
if(getch() == 27) exit(0);
}

int main()
{
_beginthread(esc_exit, 0, NULL);
int i = 0;
while(1){
i++;
Sleep(100);
cout << i << endl;
}
}

к примеру так

НБ
Нэля Бикбаева

Всё работает в VisualStudio

Похожие вопросы
Как организовать выход из цикла while(a!=q) при нажатии определенной клавиши,
Цикл while застревает в программе
Помогите с программой по c++ циклом do while.
конструкция do/while на паскале
Программа выхода из консоли по нажатию определенной клавиши. С++.
Задача С++(do While)
Вывести на экран: Замечание. Решите каждую задачу тремя способами – используя операторы цикла while, do while и for.
какое условие выхода в цикле while(true)??
как организовать выход из цикла while если не выполнится два условия (язык СИ)
в чем различие циклов while и do в delphi