中易网

c++ 将是否输入 作为判断条件

答案:6  悬赏:60  
解决时间 2021-04-18 23:37
我想写一个循环,在没有输入的时候一直循环,在有输入并且输入的是‘!’时,跳出循环。这个应该怎么做?
while(1)
{
sleep(1000);
cout<<"go on"<}
cout<<"end!"<
我的意思是在while中如果没有输入的话,不用等待键盘输入直接进入下一次循环直到输入‘!’为止。
char c;
while(1)
{
cin>>c;//这样写每一次循环都需要键盘输入。
sleep(1000);
cout<<"go on"<}
cout<<"end!"<
最佳答案
  • 二级知识专家网友:嗷呜我不好爱
  • 2021-04-18 06:14
#include
int main()
{
char inb = 0;
while(1)
{
cin >> inb; //在没有输入的时候,你一直回车他也会等着你输入的
if(inb == '!') break; //输入!跳出
cout<<"again"< }
return 0;
}

希望对你有帮助
全部回答
  • 1楼网友:我颠覆世界
  • 2021-04-18 09:56
用while或者do都可以,在条件里判断无输入或者输入不为‘!’时继续循环就行了。
  • 2楼网友:社会水太深
  • 2021-04-18 09:24
while(1) { sleep(1000); if(cin==!) break; cout<<"go on"<
  • 3楼网友:闲懒诗人
  • 2021-04-18 07:45

float d;

cout<<"输入一个整数:";

cin>>d;

cout<<"输入"<<(d == (int)d ? "正确" : "错误")<<endl;

  • 4楼网友:怪咖小青年
  • 2021-04-18 07:15
char i = 0; while(i != '!") { printf("input please"); scanf("%c", &i) } /////////// 针对你的补充问题,你的程序需要使用多线程才能实现,一个等待,一个循环
  • 5楼网友:猎杀温柔
  • 2021-04-18 06:36
你的输入是指stdin的输入么,如果是的话,你可以在循环里面对stdin做poll或者select,在没有输入的时候可以继续循环有的话可以读取输入比较是否是!即可 你的程序可以这么写 char c; int fd = fileno(stdin); int val = fcntl(fd, F_GETFL, 0); val |= O_NONBLOCK; fcntl(fd, F_SETFL, val); //设置fd为非阻塞 while(c != '!') { read(fd, &c, 1) ; //因为fd为非阻塞所以没有输入会直接往下执行 sleep(1000); cout<<"go on"<
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯