我是新手程序员,所以请善待:
我正在编写一个执行简单算术的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;
}
答案 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;
。