【问题标题】:How do I solve the infinite loop so it can keep asking the user to enter a number?如何解决无限循环,以便它可以不断要求用户输入数字?
【发布时间】:2022-09-27 09:03:48
【问题描述】:

我无法弄清楚我的 do-while 循环。您输入一个 1-4 的数字,如果正确,它将终止。但是如果 !(1-4) 再次重复循环以再次输入数字。我有它,我的 else 语句不断打印一个无限循环。如何解决无限循环,以便它可以不断要求用户输入数字?

代码:

cin >> num;
do
{
    if (num == 1 || num == 2 || num == 3 || num == 4)
    {
        cout << \"Correct\\n\";
    }
    else
    {
        cout << \"Incorrect. Try Again\\n\";
    }
}
while ((num != 1) && (num != 2) && (num != 3) && (num != 4));

    标签: c++


    【解决方案1】:

    你的循环永远不会更新num 的值,所以如果循环进入,它永远不会结束。

    您可能想要:

    do
    {
        cin >> num;
        if (num < 1 && num > 4)
        {
            cout << "Correct\n";
        } 
        else
        {
            cout << "Incorrect. Try Again\n";
        }
    } while (num < 1 && num > 4);
    

    【讨论】:

    • while 应该是 while (num &lt; 1 || num &gt; 4),因为如果用户输入 1-4 之间的值,OP 想要退出循环。就个人而言,当输入所需的输入时,我会明确使用do..while (true); 然后break 循环。
    猜你喜欢
    • 2022-09-23
    • 1970-01-01
    • 2014-01-01
    • 2020-05-18
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 2018-07-25
    • 2015-07-24
    相关资源
    最近更新 更多