输入语句,当代码运行到它的时候就要等待输入,才能执行下一行代码,如果不输入的话,就相当于在这里暂停了(程序设计老师讲过通过这样的方式以达到暂停(pause)的效果),但如果我们想要如果没输入仍然可以运行,比如,玩坦克大战的时候不按方向键,游戏画面依旧在变动(还比如以前我想在我一个小软件中做一点美化:标题文字颜色在深蓝与浅蓝间随时间不断变化,结果最后的效果是颜色随鼠标移动变化,鼠标不动,颜色就不变),那如果要改变这一问题,怎么办?

头文件: conio.h

函数:

        _kbhit()    :无阻塞函数,当运行到这里检测键盘是否有输入,有则返回1,无则返回0 

        _getch()   :不回显输入函数,作用同getchar(),区别在于_getch()输入时输入的内容不会被显示。

下面来一个简单的例子示范一下:

    假如你让一个人帮你数天上的星星,然后他数了十多分钟后累了,又不能停下,就只好问你:还要继续数吗?你说:要。他继续数了一颗,又问你要不要继续数,就一直这样不断的数一颗问一遍,数一遍问一遍,是不是很烦?那你会怎么办?当然是告诉他:我没叫你停,你就一直数!对吧,下面用代码实现一下。

#include<conio.h>
#include<iostream>
using namespace std;
int main() {
int i = 0;
char ch;
while (1) {
cout << ++i << "颗星星" << endl;
if (_kbhit()) { //如果键盘有输入
ch = _getch(); //且输入k
if (ch == 'k')
break;
}
}
return 0;
}

这样我们就达到了一个动态的效果:如果不输入k,就一直“数星星”。

下面再将代码进行一个简单的完善:

#include<conio.h>
#include<iostream>
#include<Windows.h>
using namespace std;
int main() {
int i = 0;
while (1) {
cout << ++i << "颗星星" << endl;
if (_kbhit()&&toupper(_getch())=='K') //如果键盘有输入且输入K键(即k,K)
break;
Sleep(1000); //不能数得太快,不然太夸张容易被看出来是假的,所以1000ms(1s)数一次
system("cls"); //清屏,过去的都让它过去吧
}
return 0;
}

最新文章

  1. ASP.NET TextBox 当鼠标点击后清空默认提示文字
  2. C#基础系列——再也不用担心面试官问我“事件”了
  3. Android Monkey测试(转载)
  4. Android导航栏菜单强制转换
  5. AngularJS的学习笔记(一)
  6. Android 学习第18课,单元测试
  7. iOS、swift、React Native学习常用的社区、论坛
  8. 【boost】使用lambda表达式和generate_n生成顺序序列
  9. Oracle 动态视图4 V$SESSION_WAIT &amp; V$SESSION_EVENT
  10. 指针和引用的比较(P105)
  11. MYSQL删除以数字开头的字段
  12. asp.net application
  13. SQL Server执行计划那些事儿(2)——查找和扫描
  14. at org.apache.jsp.index_jsp._jspInit(index_jsp.java:23)异常解决
  15. android Context的理解
  16. 在C#或者SWT上跨进程访问SWT控件的问题
  17. Vue.js动画在项目使用的两个示例
  18. JAVAEE——Mybatis第一天:入门、jdbc存在的问题、架构介绍、入门程序、Dao的开发方法、接口的动态代理方式、SqlMapConfig.xml文件说明
  19. KeyPress和KeyDown/KeyUp
  20. php password_hash

热门文章

  1. Maven项目之间的关系
  2. MySQL C#连接ySQL保存当前时间,时分秒都是0,只有日期
  3. hdu3333-Turing Tree-(线段树+离散化处理)
  4. CSS 颜色术语
  5. Matlab练习——rpy2tr函数与自己实现的ZYX欧拉角的结果不同的问题
  6. JAVA 课堂测试
  7. 使用AJAX实现文件上传时Illegal invocation错误
  8. Physical (Raw) Versus Logical Backups
  9. 外购半成品回写PR时将同一供应商同一编码的PR合并数量回写
  10. Excel学习之图表创建