Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果用户对C++;_C++ - Fatal编程技术网

C++ 如果用户对C++;

C++ 如果用户对C++;,c++,C++,注:这是家庭作业 我正在尝试做一个程序,玩游戏猪!猪是一种有以下规则的游戏: 1。第一个得到100分的是胜利者。 2.轮到你时,你掷骰子。如果你在任何一次掷骰中得到1,你结束你的回合,并在你的游戏分数上加0。 3.如果您滚动除1以外的任何值,您可以选择保持或播放。如果您玩,您的掷骰将添加到您的回合分数中,然后您再次掷骰。如果您按住,您的回合分数将添加到游戏分数中,回合将传递到计算机。 游戏非常容易进行,直到我遇到以下问题(请参见代码): int播放器(){ char playreach='Y';

注:这是家庭作业

我正在尝试做一个程序,玩游戏猪!猪是一种有以下规则的游戏:

1。第一个得到100分的是胜利者。
2.轮到你时,你掷骰子。如果你在任何一次掷骰中得到1,你结束你的回合,并在你的游戏分数上加0。
3.如果您滚动除1以外的任何值,您可以选择保持或播放。如果您玩,您的掷骰将添加到您的回合分数中,然后您再次掷骰。如果您按住,您的回合分数将添加到游戏分数中,回合将传递到计算机。

游戏非常容易进行,直到我遇到以下问题(请参见代码):

int播放器(){
char playreach='Y';
int turn_得分=0;
while(再次播放!=“N”|再次播放!=“N”){
整数骰子;
srand(时间(空));
骰子=兰德()%6+1;
回合分数=回合分数+骰子;
如果(骰子!=1){

cout与其更正代码,不如让您清楚地了解这里实际需要什么


听说过
break;
语句吗?让我们用一个简单的例子来理解 请参阅下面的代码段,其中您的程序正在从用户处获取输入,它会一直从用户处获取输入,直到您按下“A”

char var;
while(true)
{
cin>>var;
if(var=='A') break;
}

现在在这个程序中,while循环被设置为
true
,将继续运行并从用户那里获取输入,if语句在用户输入“A”之前不会运行。当“A”作为输入时,
break
将为您从
while
循环中取出控件。

让您的“retur”如何循环中的n'语句(根据具体情况使用适当的值)?这将中断循环和函数,但会返回所需的值。

您可以使用
中断
退出循环。既然您说要返回“正确的值”,那么您应该这样做:

关于第一个if子句

if (PlayAgain == 'N' || PlayAgain == 'n'){
            /**Game-Specific logic here**/
            return turn_score
        }
关于第二个问题:

if (dice == 1){
        cout << endl << "Oops! You rolled a 1! Your turn is ended, and you add nothing to your score.\n";
        /**Game-Specific logic here**/
        cin.get();
        return turn_score;
    }
if(骰子==1){

当条件满足时,不能使用
break
语句。@Zaphod不允许我根据
中的情况返回值,而
,是吗?如果不允许,则break不能达到我需要的效果。请自己更努力地尝试:-@Ryan_W4588-
break
将使您脱离循环,而不是函数,您可以返回在循环之后。@Ryan_W4588。如果条件满足,您可以从循环中
中断
,并
返回
需要返回的内容,或者在条件满足时直接
返回
,而不是使用
中断
。这很有意义,我想
返回
是不可能的在循环中。那么,
返回是否立即结束函数?是的,但请记住,您也可以使用break停止循环。有时您希望在不结束函数的情况下结束循环
if (dice == 1){
        cout << endl << "Oops! You rolled a 1! Your turn is ended, and you add nothing to your score.\n";
        /**Game-Specific logic here**/
        cin.get();
        return turn_score;
    }