本人刚学C++一段时间,目前在学习循环中。学习到了猜数字,
也就是猜1~100随机数的大小。猜大了提示 你猜大了,请重新猜。
猜小了,提示你猜小了,请重新猜测。 猜对了提示恭喜你猜对了
退出游戏。
后面本人提出游戏新规则改变游戏难度:猜测的次数不能大于
5次,超出5次也算失败。但是在这个次数上,我遇到了一点难题个
人技术问题,得不到详细的解答。希望CSDN的大佬们,能够给我
这个初学者详细的解答。代码如下,截图如下:
#include<iostream>
using namespace std;
#include<ctime> //添加系统时间头文件
int main()
{
//猜数字小游戏,提供给用户一个随机数用户猜测
//添加随机数种子,让随机数不重复,利用系统时间生成随机数
srand((unsigned int)time(NULL)); //这个必须放在前面,不然会生成失败
//定义随机数变量
int RandNum = rand() % 100 + 1; //随机数从0~99的区间范围,在后面加1就把区间变成了1~100;
//定义用户输入数值的变量
int UserNum = 0;
//设置次数
int times = 1;
//添加循环体
while (times <=5) //当用户输出次数超过5次退出游戏
{
times++; //次数自加,超过5次算失败
//如果次数超过5次,提示用户游戏结束,很遗憾你没有猜对。
if (times == 5)
{
cout << "很抱歉,游戏结束" << endl;
break;
}
//提示用户输入数值
cout << "请输入数字:" << endl;
//获取用户输入的数值
cin >> UserNum;
//打印出来用户输入的数值
cout << "您输入的数值为:" << UserNum << endl;
//判断用户输入的数值是否大于小于等于随机数
if (UserNum > RandNum)
{
cout << "很遗憾,你猜大了" << endl;
}
else if (UserNum < RandNum)
{
cout << "很遗憾,你猜小了" << endl;
}
else
{
cout << "恭喜您,您猜对了" << endl;
break; //当猜对的时候跳出循环体,结束游戏
}
}
system("pause");
return 0;
}
详细的问题在这里:
//如果次数超过5次,提示用户游戏结束,很遗憾你没有猜对。
if (times == 5)
{
cout << “很抱歉,游戏结束” << endl;
break;
}
在这段代码中,我输入第三次猜测的数字的时候都会提示我
游戏结束,可是我设置的5次呀。。当我改成了:
if (times == 7)
{
cout << “很抱歉,游戏结束” << endl;
break;
}
他这样猜测到第五次数字的时候才会退出游戏。而我迷茫的
地方就在这里。。。我这里设置5次,第三次就结束。
我设置7次,就第五次结束。那么另外两次哪里去了呢?
截图在这里哦
有明白的大佬请给我解答一下:
一个还很热爱C++的初学者~!
非常感谢您的观看与解答~!