作者在 2010-05-05 19:55:26 发布以下内容
#include "iostream.h"
void main(void)
{
float fun(float e,char f,float g);//声明函数原型
float a,b,c,d;
char oper1,oper2;
cout<<"请输入一个表达式(eg.1+2*3):"<<endl;
cin>>a>>oper1>>b>>oper2>>c;
//根据"+,-,*,/"运算符号优先级分2种情况
//情况1;
if((oper1=='*')||(oper1=='/'))
{
d=fun(a,oper1,b);
d=fun(d,oper2,c);
cout<<"结果是:"<<d<<endl;
return;
}
//情况2;
if((oper1=='+')||(oper1=='-'))
{
d=fun(b,oper2,c);
d=fun(a,oper1,d);
cout<<"结果是:"<<d<<endl;
return;
}
}
float fun(float e,char f,float g)
{
if(f=='+')
return(e+g);
if(f=='-')
return(e-g);
if(f=='*')
return(e*g);
if(f=='/')
return(e/g);
}
/*
2010年4月12日在VC++6.0上调试通过
*/
void main(void)
{
float fun(float e,char f,float g);//声明函数原型
float a,b,c,d;
char oper1,oper2;
cout<<"请输入一个表达式(eg.1+2*3):"<<endl;
cin>>a>>oper1>>b>>oper2>>c;
//根据"+,-,*,/"运算符号优先级分2种情况
//情况1;
if((oper1=='*')||(oper1=='/'))
{
d=fun(a,oper1,b);
d=fun(d,oper2,c);
cout<<"结果是:"<<d<<endl;
return;
}
//情况2;
if((oper1=='+')||(oper1=='-'))
{
d=fun(b,oper2,c);
d=fun(a,oper1,d);
cout<<"结果是:"<<d<<endl;
return;
}
}
float fun(float e,char f,float g)
{
if(f=='+')
return(e+g);
if(f=='-')
return(e-g);
if(f=='*')
return(e*g);
if(f=='/')
return(e/g);
}
/*
2010年4月12日在VC++6.0上调试通过
*/