主要解决了处理负数、小数等的基础运算操作,无图形界面
#include <iostream>
#include <stack>
using namespace std;
class Calculator{
private:
int Priority(char fuhao);
double CalSuffix(string PostfixExp);
public:
double Calculate(string InfixExp);
string InfixToSuffix(string InfixExp);
};
double Calculator::CalSuffix(string PostfixExp){
double tmpresult,ch1,ch2;
double tmpnum,tmpxiaoshu=1;
int i=0,tmpdashu;
int isfu=0; ///
stack<double> stk2;
while(PostfixExp[i]!='\0'){
isfu=0; ///
if(PostfixExp[i]>=48&&PostfixExp[i]<=57){
if(PostfixExp[i-1]=='-'){ /
isfu=1;
}
tmpxiaoshu=1;
tmpdashu=10;
tmpnum = PostfixExp[i]-48;
while(PostfixExp[++i]>=48&&PostfixExp[i]<=57){
tmpnum = tmpnum*tmpdashu+ (PostfixExp[i]-48);
}
i=i-1;
if(PostfixExp[++i]=='.'){
while(PostfixExp[++i]>=48&&PostfixExp[i]<=57){
t