小白关于C++猜数字的问题

要求是生成一个随机数,猜测后如果猜错会提示过大还是过小。如果猜对,直接提示猜对。但是会有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循环,循环外面的“游戏失败”还会输出