要求是生成一个随机数,猜测后如果猜错会提示过大还是过小。如果猜对,直接提示猜对。但是会有5次的次数限制,5次还猜不对就提示游戏失败。
我刚开始自学c++, 这里选择用while循环。但是我的问题是,如果5次内猜对还是会出现游戏失败,如何才能避免这个错误还能完成要求?
跪求各位大佬指点!!!
49行不要break,直接return退出函数就可以了。
break是结束循环,所以while外面的“游戏失败”还是会执行。用return退出函数的话就不会执行了
因为按照你写的只要循环结束就会输出"游戏失败",所以加个变量记录是否成功,然后使用if判断,如果不成功才输出"游戏失败"
你只要跳出循环,就提示失败,所以加个if判断
游戏失败怎么都会运行的,需要判定语句
//首先你的while(times<10)是有问题的,因为你>10次也会输出你赢了,所以建议你这么改:
while(value==num)//如果猜中了则将退出循环
{
cin>>value;
times++;
if(times==10)//判断次数是否过多
{
cout<<"你输了"<<endl;
return 0;//退出程序
}
else if(value<num)
cout<<"过大"<<endl;
else if(value>num)
cout<<"过小"<<endl;
}
cout<<"你赢了"<<endl;//退出后则输出"你赢了"
break;改成return 0;退出就行
这里break指的是跳出这个while循环,循环外面的“游戏失败”还会输出