如何利用键盘输入字符来跳出一个循环输出的while语句?
问题描述:
while (true)
{
cout << "TIMER: " << getSecond() << " s" << endl;
displayTime();
if (getSecond() == 60)
{
setSecond() = 0;
setMinute()++;
if (getMinute() == 60)
{
setMinute() = 0;
setHour()++;
if (getHour() == 24) {
setHour() = 0;
setDay()++;
}
}
}
setSecond()++;
Sleep(1000);
system("cls");
}
我想实现一个计数器和转换时间格式的功能,但发现只能点右上角的X来结束程序,于是向请教一下,应当如何改进
答
在循环中输入语句需要等待输入,回车之后才可执行下一语句,可以使用无阻塞函数
头文件 conio.h
_kbhit()
以及不回显输入函数
_getch()
例如你想按K键跳出循环,可用下方语句
if (_kbhit()&&toupper(_getch())=='K') //如果键盘有输入且输入K键(即k,K)
break;
可以了解一下:https://blog.csdn.net/qq_40946921/article/details/83021186