我是c ++的新手,我在解决这个问题时遇到了一些麻烦。 我完成了这个简单的计算器,但我需要在其上添加两个特定的条件。
*首先,如果第一个输入是数字,我需要在完成后循环。
*其次,如果第一个输入是非数字,我需要程序结束。
我该如何解决这个问题? 感谢。
#include <iostream>
using namespace std;
int main()
{
float num_1,num_2;
char operator_1;
cout << "Enter a number, an operator, and another number: " << endl;
cin >> num_1;
cin >> operator_1;
cin >> num_2;
cout << num_1 << " ";
cout << operator_1 << " ";
cout << num_2 << " = ";
switch (operator_1)
{
case '+':
cout << num_1 + num_2;
break;
case '-':
cout << num_1 - num_2;
break;
case '*':
cout << num_1 * num_2;
break;
case '/':
cout << num_1 / num_2;
break;
}
return 0;
}
答案 0 :(得分:1)
你想要这样的东西:
int main()
{
float num_1, num_2;
char operator_1;
while (true) {
cout << "Enter a number, an operator, and another number: " << endl;
if (!(cin >> num_1)) {
cout << "Error" << endl;
return 0;
}
cin >> operator_1;
cin >> num_2;
cout << num_1 << " ";
cout << operator_1 << " ";
cout << num_2 << " = ";
switch (operator_1)
{
case '+':
cout << num_1 + num_2 << endl;
break;
case '-':
cout << num_1 - num_2 << endl;
break;
case '*':
cout << num_1 * num_2 << endl;
break;
case '/':
cout << num_1 / num_2 << endl;
break;
}
}
return 0;
}
请注意num_1
中的错误是如何捕获的以及while
循环中的所有内容。只有当第一个输入无效时,程序才会结束。