**大学 数据结构 课 程 设 计 说 明 书 学生姓名: *** 学 号: * * * * * * * * * * 学 院 : **********学 院 专 业 : 网络工程 题 目 : 利用栈求表达式的值 成绩 指导教师 ****** 2009 年 7 月 9 日 1 .设计目的 数据结构课程设计的目的是,通过设计掌握数据结构课程中学到的基本理论和算法并综合运用于解决实际问题中,它是理论与实践相结合的重要过程
设计要求学会如何对实际问题定义相关数据结构,并采用恰当的设计方法和算法解决问题,同时训练学生进行复杂程序设计的技能和培养良好的程序设计习惯
2 . 设计内容和要求 利用栈求解表达式的值
设计内容: 1) 建立试题库文件,随机产生n 个题目; 2) 题目涉及加减乘除,带括弧的混合运算; 3) 利用栈求解表达式的值; 4) 随时可以退出; 5) 保留历史分数,能回顾历史,给出与历史分数比较后的评价 基本要求: 1)系统功能的完善; 2)代码中有必要的注释 3.本设计所采用的数据结构 栈的数组表示方法(静态分配整型指针) typedef struct { typedef data[MAXSIZE]; int top; }; 4.功能模块详细设计 1
功能一:中缀表达式转化为后缀表达式; 2
功能二:后缀表达式求值; 3
功能三:文件读写; 4
功能四:作业评分; 5
功能五:历史成绩本次成绩比较; 6
功能六:输入“~”符号退出程序 4
1 详细设计思想 1
首先实现表达式的求值: 要用栈求解一个表达式,就要将这个表达式翻译成正确求值的一个机器指令序列,即正确解释表达式,了解算术四则混合运算的规则: (1)
先乘除,后加减; (2)
从左算到右; (3)
先括号内,后括号外 再根据这个运算优先的规定来实现对表达式的编译或解释执行
任何一个表达式都是由操作数(st