首页 > 编程语言 >C++猜数字游戏的程序,用srand()函数产生随机数

C++猜数字游戏的程序,用srand()函数产生随机数

时间:2022-12-09 16:04:16浏览次数:52  
标签:Random cout srand number guss cin while C++ 随机数


/*
编写一个猜数字游戏的程序:程序随机选择一个1到1000的数,然后输出:
    I have a number between 1 and 1000.    
    Can you guess my number?
    Please type your first guess:
    接着,游戏者输入一个结果。程序根据比较结果输出以下三条信息之一:
    1)Excellent! You guessed the number!
         Would you like to play again (y or n)?
    2)Too low.Try again.
    3)Too high.Try again.
如果游戏者猜错,则程序进行循环,直到猜对。程序通过Too high或Too low消息帮助学生接近正确答案。请思考:怎样才能猜得最快?
*/

<span style="font-size:14px;">#include<iostream>
#include <cstdlib>
#include<time.h>
using namespace std;
int RNG() //此函数用于产生随机数
{
int Random_number;
srand(time(0));<span style="white-space:pre"> </span>//获取系统时间来作为种子
Random_number=1+rand()%1000;
return Random_number;
}
int main()
{
int Random_number,guss_number;
char yes_no;
while(true)
{
Random_number=RNG();
cout<<Random_number<<endl;//输出系统产生的随机数,免得难得猜。
cout<<"I have a number between 1 and 1000"<<endl;
cout<<"Can you guess my number?"<<endl;
cout<<"Please type your first guess:";
cin>>guss_number;
while(guss_number<1||guss_number>1000)
{
cout<<"Input error,once again!";
cin>>guss_number;
}
while(true)
{
if(guss_number==Random_number)
{
cout<<"Excellent! You guessed the number!"<<endl;
cout<<"Would you like to play again (y or n)?:" ;
cin>>yes_no;
if(yes_no=='n')
{
exit(0); //返回操作系统
}
else
{
break; //跳出第一层循环
}
}
if(guss_number<Random_number)
{
cout<<"Too low.Try again ";
cin>>guss_number;
while(guss_number<1||guss_number>1000)
{
cout<<"Input error,once again!";
cin>>guss_number;
}
}
if(guss_number>Random_number)
{
cout<<"Too high.Try again ";
cin>>guss_number;
while(guss_number<1||guss_number>1000)
{
cout<<"Input error,once again!";
cin>>guss_number;
}
}
}
}
return 0;
} </span>



运行截图如下:

C++猜数字游戏的程序,用srand()函数产生随机数_游戏

标签:Random,cout,srand,number,guss,cin,while,C++,随机数
From: https://blog.51cto.com/u_15907770/5926134

相关文章

  • C语言中的结构体与C++中的类异同
    从C语言到C++,是编程思想的进步,技术发展的结果吧,所以C++基本上是兼容C的语法的,C++的很多东西也是从C中继承过来的,然后再发扬,C语言的结构体便是C++中类的雏形。       ......
  • MFC,VC++中,CView类意外消失
    (1)在我们写MFC程序的时候,可能CView类可能会意外的消失,现在我用的是Win7操作系统,VC6.0和WindowsXP是完全兼容的,可能是系统兼容的问题,所以在Win7系统下编写程序总会出现一些莫......
  • MFC,VC++计算器小程序
    大学期末没课,某个中午闲来无聊,正好在自学MFC,于是想用MFC、C++写点东西,由于能力有限,当然的写个简单点的啦,于是花了两个小时写了这个计算器的小程序,希望对初学VC++和MFC的朋友有所帮助。程......
  • 冒泡排序算法详解C++程序
    (1)冒泡排序算法:(BubbleSort)首先肯定是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到......
  • 《安富莱嵌入式周报》第294期:将C/C++代码转换为各种高级语言,超炫渲染着色器,VS2022新闻
    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104更新视频教程:USB应用实战视频教程第5期:手把手玩转USBHID免驱方式......
  • C++那些事-static
    static那些事关于作者微信公众号:当与不同类型一起使用时,Static关键字具有不同的含义。我们可以使用static关键字:静态变量:函数中的变量,类中的变量静态类的成员:类对......
  • C++那些事-const
    关于作者微信公众号:1.const含义常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。2.const作用可以定义常量constinta=100;......
  • C++笔记(自用)
    《EffectiveC++》条款11在operator=中处理“自我赋值”自我赋值证同测试:if(this==&rhs)return*this;影响并行处理效率记住副本:type*memberO=member;pmember=ne......
  • C++不知算法系列之排序从玩转冒泡算法开始
    1.前言所谓排序,指把数据群体按个体数据的特征按从大到小或从小到大的顺序存放。排序在应用开发中很常见,如对商品按价格、人气、购买数量等排序,便于使用者快速找到数据。......
  • C++学习---cstdio的源码学习分析02-文件删除函数remove
    cstdio中的文件操作函数stdio.h中定义了文件删除函数remove,文件重命名函数rename,打开临时文件函数tmpfile,生成临时文件名函数tmpnam。接下来我们一起来分析一下remove对应的......