⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hello.cpp

📁 表达式算法,console程序
💻 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 + -