【发布时间】:2020-03-14 16:54:41
【问题描述】:
我是 C++ 新手,我遇到了这个问题,其中乘法和减法无法正常工作。我已经尝试过运行/编译它们,除法和加法都是唯一可以正常工作的。
对于我来说,会发生什么情况是 减法 会相加并在每个答案之前留下一个 (-),以及与乘法类似的情况。
#include<iostream>
using namespace std;
int main(){
char a,b,c,d;
char operation;
int x,y,z, op = 0;
int num[2];
cout<<"\n\n\n\t\t\tCALCULATOR ";
cout<<"\n\t\t\t a - ADDITION";
cout<<"\n\t\t\t b - SUBTRACTION";
cout<<"\n\t\t\t c - MULTIPLICATION";
cout<<"\n\t\t\t d - DIVISION";
cout<<"\n\n\n ";
cout <<"\n\t\t\tChoose your operator: "; cin >> operation;
switch(operation){
case 'a':
case 'A':
cout<< "\n\t\t\tyou chose ADDIION";
cout<< "\n\t\t\tinput numbers: ";
for (x = 0; x < 2; x++)
{
cin >> num[x];
op += num[x];
}
cout << "\n\t\t\tSum = " << op << endl;
break;
case 'b':
case 'B':
cout<< "\n\t\t\tYou chose Subtraction";
cout<< "\n\t\t\tinput numbers: ";
for (x = 0; x < 2; x++)
{
cin >> num[x];
op *= num[x];
}
cout << "\n\t\t\tDifference = " << x << endl;
break;
case 'c':
case 'C':
cout<< "\n\t\t\tYou chose Multiplication";
cout<< "\n\t\t\tinput numbers: ";
for (x = 0; x < 2; x++)
{
cin >> num[x];
op *= num[x];
}
cout << "\n\t\t\tProduct = " << x << endl;
break;
case 'd':
case 'D':
cout<<"\n\t\t\tYou chose Division";
cout<<"\n\t\t\tinput numbers: ";
for (x=0; x < 2; x++)
{
cin >> num[x];
op /= num[x];
}
cout << "\n\t\t\tQuotient"<< x << endl;
break;
}
return 0;
}
【问题讨论】:
-
再看看你的减法代码。你到底在做什么?
-
等问题中,运算结果是
op,而不是索引x。
标签: c++ arrays switch-statement