如何在简单的C ++计算器中只显示一个答案?

时间:2013-10-13 22:22:52

标签: visual-c++

我是新手程序员,所以请善待:

我正在编写一个执行简单算术的C ++程序。我的语法正确,但有多个答案出现,例如:我在答案之后的每个单独的cout语句都是在使用+时计算机显示,但随后的cout语句使用其他运算符( - ,*,/)只显示其中的一些。我可以使用这里的帮助是代码。

//This program will take two integers and compute them in basic arithmetic
//in the way that a simple calculator would.

#include <iostream>
using namespace std;


int main ()
{
    int num1;
    int num2;
    double sum, difference, product, quotient;
    char operSymbol;

    cout << "Please enter the first number you would like to equate: ";
    cin >> num1;
    cout << "Please enter the second number: ";
    cin >> num2;

    cout << "Please choose the operator you would like to use (+, -, *, /): ";
    cin >> operSymbol;
    switch (operSymbol)
    {
    case '+':
            sum = num1 + num2;
            cout << "The sum is: " << sum << endl;
    case '-':
            difference = num1 - num2;
            cout << "The difference is: " << difference << endl;
    case '*':
            product = num1 * num2;
            cout << "The product is: " << product << endl;
    case '/':
            quotient = num1 / num2;
            cout << "The quotient is: " << quotient << endl;
    }
system("Pause");
return 0;
}

3 个答案:

答案 0 :(得分:2)

您需要在每个case标签下明确结束代码的执行。否则通过落到下一个case。您需要使用break跳出 switch

case '+':
        sum = num1 + num2;
        cout << "The sum is: " << sum << endl;
        break;                                    // <-- end of this case

答案 1 :(得分:0)

每个案例结尾都需要break个陈述;否则,程序的执行继续下一个案例。这就是您在处理+案例时看到处理所有案例的原因。 break语句结束最近的封闭循环或条件语句的执行。

答案 2 :(得分:0)

在switch语句的每个案例的末尾添加一个break;