输入值后跳过一些代码并退出程序

时间:2016-09-04 11:17:07

标签: c++

我正在创建一个简单的代码,取整数值10次。如果在任何时候,用户输入值“5”,系统应该打印一条消息“你输入5,你输了”。这是代码

int main()
{
  int num = 0;
  int i;
  for (i = 1; i<= 10; i++)
{
    cout << "Enter a number other than 5\n";
    cin >> num;
    if (num == 5)
    {
        cout << "Hey, you entered 5. You lose!\n";
        break;
    }
}
  cout << "You win!";
  return 0;
}

现在我不知道的是,如何在用户输入5之后关闭程序。我是非常新的编码所以我真的很抱歉,如果这个问题听起来很愚蠢。而且,如果你能以最简单的方式解释,那将是很好的。谢谢

3 个答案:

答案 0 :(得分:1)

你可以这样做:

for (i = 1; i<= 10; i++)
{
    cout << "Enter a number other than 5\n";
    cin >> num;
    if (num == 5)
    {
        cout << "Hey, you entered 5. You lose!\n";
        return 0; // This will end function main and return 0. Thus your program will end.
    }
}

还有一些more阅读。

你拥有它的方式break只会停止for循环。但是:

  cout << "You win!";

仍会打印出来。如果使用return,则main不再执行任何语句。因为return将结束调用它的函数,在本例中为main

答案 1 :(得分:0)

  

现在我不知道的是,用户输入5后如何关闭程序。

替换

break;

exit(0);

return 0;

break只会退出循环,并且您无条件打印cout << "You win!";

答案 2 :(得分:0)

上面提到的另外两种方法无疑是最好的。但是,如果您有一些未完成的业务,即使用户输入5后您也想要处理,您可以获得一个临时变量的帮助。比如说。

int main()
{
    int num = 0,tmp=0;
    int i;
    for (i = 1; i<= 10; i++) {
        cout << "Enter a number other than 5\n";
        cin >> num;
        if (num == 5) {
            tmp=1;
            cout << "Hey, you entered 5. You lose!\n";
            break;
        }
        //unfinished work
    }
    //unfinished work
    if(tmp==0)
        cout << "You win!";

    return 0;
}