24.h
资源名称:C数据结构课程设计.rar [点击查看]
上传用户:janny_wxd
上传日期:2010-02-03
资源大小:261k
文件大小:2k
源码类别:
控制台编程
开发平台:
C/C++
- #include"all.h"
- int number[2][4];
- enum
- {
- eNumber = 0, //操作数
- eOperator = 1 //算子
- };
- typedef struct sqlist{
- int bol;//bol is 0 when num_ch is a number;bol is 1 when the num_ch is a oprater
- int num_ch;
- struct sqlist *next;
- }sqlist;
- typedef struct sqstack {
- int *base;
- int *top;
- int stacksize;
- }sqstack;
- /***************链表操作模块******************************/
- status init_sq(sqlist *l);//初始化链表
- status insert_sq(sqlist **p,int e,int bl);
- //链表插入操作
- //由于这里要求修改外部指针,因此要用指向指针的指针
- //将插入到链表的末尾
- /***************链表操作模块******************************/
- /****************用栈进行表达式计算模块***********************/
- int check(sqlist l);
- //保证输入的数字是给出的四个数字
- int chang(char *s,sqlist *l);
- //将用户的输入转化为单链表
- int Operate(int a,int theta, int b);
- //计算a theta b
- int ReturnOpOrd(char op,char* TestOp);
- //被char precede(char Aop, char Bop)所调用来求优先级
- char precede(char Aop, char Bop);
- //返回优先级
- status initstack(sqstack *s);
- //栈初始化
- int gettop(sqstack *s);
- //取栈顶元素
- status push(sqstack *s,int e);
- //把 e 压栈
- status pop(sqstack *s,int *e);
- //出栈,用e 保存
- int EvaluateExpression(char* MyExpression); // 算法3.4
- /***************链表操作模块***********************************/
- int randomm();//产生四个随机数
- /****************计算机计算模块*******************************/
- int CalcOneExpress(int expression[][2]);
- int Equal24(int n);
- int CalcArray1(int iNumInput[2][4]);
- // a * b * c * d //7 number
- int CalcArray2(int iNumInput[2][4]);
- // (a * b) * c * d //9 number
- int CalcArray3(int iNumInput[2][4]);
- // (a * b * c) * d //9 number
- int CalcArray4(int iNumInput[2][4]);
- // (a * b * c) * d //9 number
- int CalcArray5(int iNumInput[2][4]);
- // (a * b) * (c * d) //11 number
- int CalcArray6(int iNumInput[2][4]);
- // ((a * b) * c) * d //11 number
- int CalcArray7(int iNumInput[2][4]);
- // (a * b * c) * d //9 number
- int Calc24(int number[2][4]);
- //括号的几种情况
- //1 无括号
- //2 (a b) c d 同a b (c d), 下省略
- //3 (a b c) d
- //4 a (b c) d
- //5 (a b) (c d)
- //6 ((a b) c) d
- //7 (a (b c)) d
- /****************计算机计算模块*******************************/
- void game_24_main();//24点游戏执行函数