在特定条件下循环和结束简单的计算器

时间:2017-09-15 17:01:23

标签: c++

我是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;
}

1 个答案:

答案 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循环中的所有内容。只有当第一个输入无效时,程序才会结束。