如何输入(15+9)/37 并判断:运算符存入字符栈,数字存入数字栈?

来源:百度知道 编辑:UC知道 时间:2024/05/24 09:26:49
我要用C语言中的链栈实现表达式求解的问题,请高手帮我解决以下这个问题。

以前学数据结构时候写的

#include<iostream>
#include<stack>
using namespace std;

int operate(int a,int c,int b)
{
int num;
switch(c)
{
case 0:num=a+b;break;
case 1:num=a-b;break;
case 2:num=a*b;break;
case 3:num=a/b;break;
}
return num;
}

int fun(char n)
{
int i;
switch(n)
{
case '=':i=6;break;
case ')':i=5;break;
case '(':i=4;break;
case '/':i=3;break;
case '*':i=2;break;
case '-':i=1;break;
case '+':i=0;break;
default:i=7;
}
return i;
}

int num(char n)
{
int i;
switch(n)
{
case