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

Skip some code after entering a value and exit the program

本文关键字:代码 退出程序 输入      更新时间:2023-10-16

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

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

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

你可以这样做:

for (i = 1; i<= 10; i++)
{
    cout << "Enter a number other than 5n";
    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.
    }
}

和一些更多的阅读


您使用它的方式break将简单地停止for循环。然而这:

  cout << "You win!";

仍然会被打印出来。如果使用return,则不会再执行main中的语句。因为return会终止调用它的函数,本例中为main

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

代替

break;

exit(0);

return 0;

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

上面提到的另外两种方法无疑是最好的。但是,如果在用户输入5之后,您还有一些未完成的业务需要处理,您可以使用临时变量temp。

int main()
{
    int num = 0,tmp=0;
    int i;
    for (i = 1; i<= 10; i++) {
        cout << "Enter a number other than 5n";
        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;
}