完整课程设计(部分代码):
/* Note:Your choice is C IDE */
#define STACK_INIT_SIZE 100 /*栈的存储空间初始分配量*/
#define MAX 100 /*字符存储空间分配量*/
#define DEBUG
#define NULL 0
#define TURE 1
#define ERROR -1
#define STACKSIZE 20
typedef int Status;
typedef int SElemType; //元素类型
/* 定义字符类型栈 */
typedef struct{
char stackname[20];
char *base;
char *top;
} Stack;
/* ----------------- 全局变量--------------- */
Stack OPTR, OPND; /* 定义前个运算符栈,后个操作数栈 */
char expr[255] = ""; /* 存放表达式串 */
char *ptr = expr;
int step = 0; /* 计算的步次 */
int InitStack(Stack *s, char *name)
{
s->base=(char *)malloc(STACKSIZE*sizeof(char));
if(!s->base) exit (ERROR);
strcpy(s->stackname, name);
s->top=s->base;
return 1;
}
1