#include<iostream>
#include<C:\Eigen\Eigen>
using namespace Eigen;
using namespace std;
double operation(double x1,double x2,char operat1){
double Provisional_result;
int i;
if(operat1==43){
Provisional_result=x1+x2;
}
if(operat1==45){
Provisional_result=x1-x2;
}
if(operat1==47){
Provisional_result=x1/x2;
}
if(operat1==42){
Provisional_result=x1*x2;
return Provisional_result;
} } //进行实数简单加减乘除运算的函数
int main(){
double a,b,Provisional_results;
char operat[20];
for(int i=0;i<1;i++){
cin>>a>>operat[i]>>b;
Provisional_results=operation(a,b,operat[i]); //计算得到第一个临时和,即a1+b1
}
for(int i=1;operat[i]!='\0'&&b!=' ';i++){
cin.get(operat[i]);
if(operat[i]=='\n')
break;
cin>>b;
Provisional_results=operation(Provisional_results,b,operat[i]);
}
cout<<Provisional_results;
return 0;
}
该段代码只能实现只含有加减的运算或者只含有乘除的运算,一旦含有加减乘除的混合运算,结果将无法分辨加减和乘除的优先级关系,导致结果出错。