试图让我的第一个程序循环(C++)

trying to make my first program to loop (c++)

我是一般编码的新手,想知道如何让我的小程序循环,我可以输入 1 个等式,然后它什么都不做,想知道如何解决这个问题

#include<iostream>
using namespace std;
int main()
{
    for ( ; ; ) {
        cout << "INPUT 1 for div, INPUT 2 for mult THEN input 2 numbers";
        int sign;
        cin>>sign;
            if ( sign == 1 ) {
            int num1;
            cin>>num1;
            int num2;
            cin>>num2;
            cout << num1/num2;
        }
        else {
            int num1;
            cin>>num1;
            int num2;
            cin>>num2;
            cout << num1 * num2;
        }

        return 0;
    }
} 

欢迎编码:)

您已经放置了您的 return 0; for 循环中的语句。

Return 0;将使您的主函数(在这种情况下是您的整个程序)完成并立即退出,无论在函数内部的什么地方遇到它。

您应该将 return 0 语句移动到 for 循环之外,如下所示:

int main()
{
...
    for ( ; ; ) {
        ...
            int num2;
            cin>>num2;
            cout << num1 * num2;
        }

    }

    return 0;
}

这样,程序永远不会命中 return 语句并保持正确循环。

您可以通过多种方式简化您的程序,首先按照@Kasper 的建议,移动您的 return 语句,接下来您可以避免重复 cin>>num1cin>>num2,然后添加一个退出条件,

总结

#include<iostream>
using namespace std;
int main()
{
    for ( ; ; ) {
        cout << "INPUT 1 for div, INPUT 2 for mult THEN input 2 numbers";
        int sign;
        int num1;
        int num2;
        cin>>sign;
        cin>>num1;
        cin>>num2;
        if ( sign == 1 ) {
            cout << num1/num2;
        }
        else if ( sign == 2 ) {
            cout << num1 * num2;
        }
        else  {
            cout << "Neither 1 or 2 entered as sign, bye bye";
            return 0;
        } 
    }
} 

您还应该考虑如果用户输入 0(零)作为 num2 会发生什么,尤其是当符号 = 1 时