本系列文章是配合我发布的《C++编程基础》系列视频教程的知识点总结和补充。

在这一节课里,我们综合之前课程的知识点来实现了一个猜数字的小游戏。首先让机器随机生成一个1到100之间的整数,然后在输出端提示用户输入一个整数来猜猜这个随机数是多少,获得输入后要先检测输入的内容是否是整数,不是的话要重新输入。接到合格的整数输入后,如果输入的数字与生成的随机数一致,则可提示成功后退出程序,否则程序会提示随机数比输入的数是高了还是低了,然后让用户再次输入猜测的数字,直到猜中为止。用流程图来描述这一过程的话,如下图:

随机数的生成需要用到3个函数rand, srand和time,time(0)函数返回一个以秒为单位的系统时间,这个秒数是从1970年1月1日午夜0时开始计算的,用它作为srand的参数时,系统可能会警告隐式转换失去整数精度的问题,可以用强制类型转换来解决,即在time(0)前加上(int)或者(unsigned int)。srand是为了生成随机数的种子,不同的种子,才能“长出”不同的随机数,如果不在使用rand函数之前调用srand函数,每次产生的随机数将不会发生变化。

srand((int)time(0));

为了生成一个1到100之间的随机数,在调用rand函数后让得到的值用100来取余,使值在0到99之间,再做加1操作即可。

int randomInt = rand()%100+1;

由于这里我用的开发工具是Xcode,在加入了预处理编译指令#include 后就不用再包含这几个函数所属的头文件stdlib.h和time.h了,但在其他的编译环境,可能还需在程序前面加上如下两条指令:

#include

#include

获得随机数之后,就可以通过do-while(true)这样的无限循环结构来不断地让用户输入猜想的数字并和生成的随机数进行比较了,只有当猜想的数字和生成的随机数相等时才使用break;语句跳出这个无限循环。

完整程序实现如下:

 1#include  2 3int main(int argc, const char * argv[]) { 4    using std::cout; 5    using std::endl; 6    using std::cin; 7 8    int x; 9    srand((int)time(0));1011    int randomInt = rand()%100+1;12    cout<<"A random integer (1 to 100) has been created."<<endl;13    do{14        cout<<"Please guess the number:"<<endl;1516        if(cin>>x&&cin.get()=='\n'){17            if(x==randomInt){18                cout<<"That's right! The number is "<endl;19                break;20            }else{21                if(x22                    cout<<"The random number is higher."<<endl;23                }else{24                    cout<<"The random number is lower."<<endl;25                }26            }27        }else{28            cin.clear();29            cin.ignore(INT_MAX, '\n');30            cout<<"Please input an integer!"<<endl;31        }32    }while(true);33    return 0;34}

欢迎点击右下方↓↓"在看"↓↓来分享

python猜数字游戏_C++编程基础: 9. 猜数字小游戏相关推荐

  1. python拍7游戏代码_Python基础语法-7(小游戏)

    代码太长?内容太复杂? 不用担心!往下看↓ 知道为什么python简洁,省力么? 就是因为python有很多写好的工具箱可以直接调用,我们只要开头给一个命令,在我们的代码 就可以直接使用它的功能了,这 ...

  2. 初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程

    @TOC初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程 [1]什么是windows API Windows API 中文翻译过来就是windows应用程序接口(Applica ...

  3. 【Java基础项目】经典小游戏黄金矿工制作

    Java初学者的小伙伴们,相信大家肯定缺少很多的练手项目吧!今天就给大家推荐一款特别好上手的一个Java小游戏--黄金矿工. 大家听到这个名字的时候,童年的回忆肯定一下子,涌上心头,那如果让大家制作一 ...

  4. Python跳跳兔小游戏源代码,兔年必玩小游戏,兔年大吉

    Python跳跳兔小游戏源代码,兔年必玩小游戏,兔年大吉,小兔子跳跳,按空格键向上跳跃,按键盘方向键进行左右移动,以避开飞弹,以防被炸,还可以捡到火箭道具哦. 完整程序下载地址:Python跳跳兔小游 ...

  5. c 语言掷骰子游戏,C 语言编程学习: 制作掷骰子小游戏

    C 语言编程学习: 制作掷骰子小游戏 问题描述 骰子是一个有六个面的正方体, 每个面分别印有 16 之间的小圆点代表点数. 假设这个游戏的规则是: 两个人轮流掷骰子 6 次, 并将每次投掷的点数累加起 ...

  6. 【C基础】三子棋小游戏

    一.游戏的功能设计 0.设计一个小游戏,类似于小时候玩的井字棋,两人谁先连成3个相同的符号谁就获胜. 1.游戏界面 进入游戏程序之后,有两种功能可以选择,一是选择进入游戏,而是退出游戏. 玩家可以从键 ...

  7. 上线游戏 400+ 款,OPPO、vivo 小游戏厚积薄发

    截止今日,OPPO 小游戏上线数量接近 300 款,采用 Cocos 引擎开发的占比 80%:vivo 小游戏上线数量接近 100 款,其中 Cocos 引擎占比 60%:两个平台已上线总和超过 40 ...

  8. C语言小游戏大全,C语言贪吃蛇小游戏(附源码)

    一.C语言小游戏大全,C语言贪吃蛇小游戏(附源码) 贪吃蛇小游戏源码和更多C语言课设项目小游戏源码免 费 下 载 链 接 如下: c语言项目课设小游戏源码资料压缩包.zip-C文档类资源-CSDN下载 ...

  9. 计算机公开课课前互动小游戏,幼儿园10个师幼互动小游戏 让你的课堂马上活跃嗨起来!...

    幼儿园游戏首先吸引的还是孩子,毕竟现在幼儿园都是遵从寓教于乐的教学方式!所以幼儿园游戏主要还是力求变新,让孩子在你的游戏影响下充分展现自己对于学习的积极性和渴望性,教师运用合理好玩的游戏还可以优先提升 ...

  10. 鸟窝小游戏是专门收集一些好玩在线小游戏的平台

    鸟窝小游戏是专门收集一些好玩在线小游戏的平台,目前网络上最火的小游戏都被收录在鸟窝小游戏大全中,最新大家都见到一款叫做勇者之路的小游戏,游戏属于 mmorpg类型,角色扮演加上动作的概念使勇者之路在游 ...

最新文章

  1. Diango REST framework 视图继承图
  2. 2021年MathorCupD题思路
  3. 移动开发框架,第【一】弹:QuoJs 官方文档(汉化版)
  4. IOS15的导航栏高度和状态栏高度和tabBar高度的获取
  5. 人造流星这种生日礼物,你有过吗?现在国外有了
  6. Java基础之线程池
  7. python基础技巧总结(四)
  8. 深圳蛇口人民医院办理健康证,免费体检,2017年后国家承担体检费用
  9. WPF学习之路由事件
  10. three.js 制作3D相册
  11. QTTabBar 安装使用记录
  12. Linux安装DVWA
  13. 测试技术 --黑盒测试与白盒测试
  14. 实验吧ctf题库:这个看起来有点简单!
  15. matlab中利用xy求取多项式z,matlab基础练习题
  16. android麦克风被禁用怎么办,为什么微信麦克风被禁用?如何开启?
  17. JS 无形装逼,最为致命
  18. YTU 3921 游戏
  19. ora-27100产生的原因分析
  20. 使用ssh对服务器进行登录

热门文章

  1. OLAP引擎——Kylin介绍
  2. nginx实战(五) 正向代理支持https
  3. BZOJ1861:[ZJOI2006]书架——题解
  4. [Advance] How to debug a program (下):示例
  5. Codeforces Round #389 (Div. 2) 752E(二分答案)
  6. Android——selector背景选择器的使用详解(二)
  7. 部署SCOM2012 SP1
  8. ServiceNow常用角色和分组
  9. 在Red Hat Enterprise Linux 上如何安装openoffice
  10. ISA2006的部署和无人职守