/*************************************************************************
功能:利用栈结构做一个简易的计算器
描述:括号为最高优先级,其次乘除为次优先级,加减法的优先级最低
作者:566
**************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
typedef struct stack1 //数据栈
{
float num[MAX];
int top;
}O_NUM;
typedef struct stack2 //符号栈
{
char symbol[MAX];
int top;
}O_SY;
/**********************************************************************
描述:初始化数据栈和符号栈
参数:O_NUM *stacknum,O_SY *stacksymbol
返回值:void
***********************************************************************/
void init_O_NUM(O_NUM *stacknum) //初始化数据栈
{
stacknum->top = -1;
}
void init_O_SY(O_SY *stacksymbol) //初始化符号栈
{
stacksymbol->top = -1;
}
/*************************************************************************
描述:将操作数推进操作数栈中
参数:O_NUM *stacknum,flo