想知道c++程序运行时如何输入四则运算

来源:百度知道 编辑:UC知道 时间:2024/09/20 07:15:37
在c++程序运行时先输入大于2的n个数字,在输入n-1个四则运算符,可以求结果并输出。哪位大哥大姐帮帮忙啊,上机课的作业,我菜鸟。。

如果没学过重载,就直接用case语句判断吧。
#include<iostream>
using namespace std;

int main()
{
char temp;
float n ,a,b, sum;

cin >> n;//如果想提高速度把cin都改成scanf也成
cin >> sum;//把第一个数作为最初的结果
a = sum;
b = a;//b的出现用来弥补乘除法的特殊性,ex:3+4*5,我要再处理5的时候肯定是算4*5,所以要用b记上一步的a,但是较为特殊的是连乘或连除ex:3*3*3+3,b记录的是上一步乘或除得出的结果,这些在case语句中会体现出来;
for(int i = 0 ; i < n-1 ; i++ )
{
cin >> temp >> a;
switch(temp)
{
case '+': {sum+=a; b = a;break;}
case '-': {sum-=a; b = a;break;}
case '*': {sum-=b; sum+=a*b; b = a*b; break;}
case '/':{sum-=b;sum+=b/a;b = b/a;break;}
}
}
cout << "="<<sum;
system("pause");
return 0;
}

我测了一遍应该没错,你再看看吧……

你这个所说的叫做后缀表达式,网上找下
用栈实现的