📄 calculator.cpp
字号:
#include"mystack.h"
#include"CalculatorH.h"
#include<iostream.h>
#include<assert.h>
void Calculator::AddOperand(double value){
s.push(value);
}
Boolean Calculator::Get2Operand(double &left,double &right){
assert(!s.isEmptyStack());
right = s.pop();
assert(!s.isEmptyStack());
left = s.pop();
return True;
}
void Calculator::DoOperator(char op){
double left,right;
if (Get2Operand(left,right)==True){
switch(op){
case'+':s.push(left + right);break;
case'-':s.push(left - right);break;
case'*':s.push(left * right);break;
case'/':assert(right);s.push(left / right);break;
}
}
else s.clear();
}
void Calculator::Run(){
char ch;
cout<<"Please input a postfix expression:\n";
while(cin.get(ch),ch!='='){
switch(ch){
case'(':case'+':case'-':case'*':case'/':
DoOperator(ch);break;
case' ':break;
default:
cin.putback(ch);
double newoperand;cin>>newoperand;
AddOperand(newoperand);
break;
}
}
cout<<s.top()<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -