📄 transferfix.cpp
字号:
#include"mystack.h"
#include"mystack_e.cpp"
#include<iostream.h>
int isp(char a){
switch(a){
case '=':return 0;
case '(':return 1;
//case '^':return 7;
case '*':case '/':case '%':return 5;
case '+':case '-':return 3;
case ')':return 8;
default:return -1;
}
}
int icp(char a){
switch(a){
case '=':return 0;
case '(':return 8;
//case '^':return 6;
case '*':case '/':case '%':return 4;
case '+':case '-':return 2;
case ')':return 1;
default:return -1;
}
}
void TransferFix(){
SepStack<char> s;char ch,a;
s.push('=');
while(cin.get(ch),ch!='='){
switch(ch){
case'(':case'+':case'-':case'*':case'/':
for(a = s.pop();isp(a)>icp(ch);a = s.pop()) cout<<a<<' ';
s.push(a);s.push(ch);break;
case')':
for (a = s.pop();a!='(';a = s.pop()) cout<<a<<' ';break;
default:
cin.putback(ch);
double digit;
cin>>digit;cout<<digit<<' ';break;
}
}
while(!s.isEmptyStack()) {a = s.pop();cout<<a<<' ';}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -