📄 main.cpp
字号:
#include <iostream>
#include<cmath>
#include<stdio.h>
using namespace std ;
#include "stack.h" //stack 模板
#include "sufficalExpression.h" //后缀表达式转换
#include "countExpression.h" //计算后缀表达式
#include "changeExpression.h" //输入时把栈进行处理
#include "checkExpression.h" //检查表达式
void main()
{
cout<<"请输入表达式 以 = 号结束 如要退出 按 'n' 键 谢谢"<<endl;
while(1)
{
stackList<char> stackList1 ;
stackList<float> stackList2 ;
bool exam1 , exam2;
char input = NULL;
cout<<"表达式:"<<"> ";
//一边输入一边入栈
while( input != '=')
{
cin>>input ;
stackList1.push(input) ;
if((input <= '9')&&(input>='0'))
stackList1.setType(0);
else
stackList1.setType(1);
if(input == 'n')
{
return ;
}
}
//将刚输入的栈进行处理
changeStack(stackList1,stackList2) ;
//将表达式转成后缀式 并判断是否成功
exam2 = changeToSufficalExpression(stackList2);
//检测表达式是否正确
exam1 = checkExpression(stackList2);
if((exam2 == true)&&(exam1 == true))
{
//如果转换成功则进行运算
cout<<"结果是:"<<Account_Suffixal(stackList2)<<endl;
}
else
{
cout<<" Error "<<endl;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -