📄 hello.cpp
字号:
#include <iostream>
#include "fickyou.h"
using namespace std;
int isp(char t1){
switch(t1){
case '#':return 0;
case '(':return 1;
case '*':case '/':return 5;
case '+':case '-':return 3;
case ')':return 8;
default: return 0;
}
}
int icp(char t2){
switch(t2){
case '#':return 0;
case '(':return 8;
case '*':case '/':return 4;
case '+':case '-':return 2;
case ')':return 1;
default:return -1;
}
}
void main()
{
char ch,y;double re;
Stack<char> operators;
calculator operands;
//operators.MakeEmpty();
operators.Add('#');
while(cin.get(ch),ch!='\n'){
if(isdigit(ch)){
cin.putback(ch);
cin>>re;
operands.AddOperand(re);
}
else if(ch==')'){
for(operators.Pop(y);y!='(';operators.Pop(y))
operands.DoOperator(y);
}
else{
for(operators.Pop(y);isp(y)>icp(ch);operators.Pop(y))
operands.DoOperator(y);
operators.Add(y);
operators.Add(ch);
}
}
operators.Pop(y);
while(y!='#'){
operands.DoOperator(y);operators.Pop(y);
}
operands.s.Pop(re);
cout<<re;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -