| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 558 人关注过本帖
标题:本来是按下ESC停止,Q暂停,R继续,为什么现在Q暂停后按出ESC的任何键都继续 ...
只看楼主 加入收藏
sharv
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-12-28
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
本来是按下ESC停止,Q暂停,R继续,为什么现在Q暂停后按出ESC的任何键都继续
#include<iostream>
using namespace std;
#include<conio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
#define ESC 0x1b
#define Q 0x71
#define R 0x72
void loop (void);
int main()
{
    loop();
    return 0;
}
void loop(void)
{
    int w,seed=1;
     char i,j;
     while(1)
    {
      if(kbhit()==0)
      {
         srand(seed);
         w=rand()%100;
         cout<<w<<endl;
         seed=rand()+time(NULL)%1000;
         Sleep(100);
     }
     else
     {
         i=getch();
         if(i==ESC)//ESC停止
         exit(0);
        else if(i==Q)
             {
          if(w<=50)
          cout<<"小"<<endl;
          else
          cout<<"大"<<endl;
          j=getch();//Q 暂停
          if(j==R)//R继续
          loop();
          else if(j==ESC)//ESC停止
          exit(0);
      }
      }
搜索更多相关主题的帖子: include return 
2015-01-04 22:20
tiucdccsgz
Rank: 2
等 级:论坛游民
威 望:2
帖 子:21
专家分:54
注 册:2014-12-14
收藏
得分:5 
呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵
2015-01-05 12:35
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:5 
好像的确按任何键都应该继续吧。
          if(j==R)//R继续
          loop();
虽然这里不吻合if的执行条件,不执行loop(),但代码已运行到了尾部,不是又该判断while的循环条件了么?既然while(1),当然人家要继续执行了
2015-01-05 14:05
快速回复:本来是按下ESC停止,Q暂停,R继续,为什么现在Q暂停后按出ESC的任何键 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015574 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved