试图让我的第一个程序循环(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>>num1
和 cin>>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 时
我是一般编码的新手,想知道如何让我的小程序循环,我可以输入 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>>num1
和 cin>>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 时