数据结构课程设计-报告模板.doc
《数据结构课程设计-报告模板.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计-报告模板.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 黄淮学院“数据结构”课程设计报告系 (院): 信息工程学院 设计题目: 算数表达式求值 专业班级: 计算机科学与技术 小组成员: 张硕 指导教师: 汪洋 完成时间: 20142015学年第二学期 课程设计目的1、能够灵活地应用所学数据结构知识,根据加工数据对象的特征,选择适当的数据结构、存贮结构及相应算法,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。2. 初步掌握各种算法在时间和空间的分析技巧;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3. 能够进行算法设计和程序设计,并且使所设计的程序结构清楚,正确易读,并上机调试通过;提高综合运用所学的理
2、论知识和方法独立分析和解决问题的能力。4.用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。5. 培养较强的实习和实践能力;较强的分析问题和解决问题的能力。 课程设计任务与要求:问题描述算数表达式求值,主要解决运算符优先级问题。基本要求运用栈解决与实现测试数据加减乘除与括号运算实现提示按四则运算进行一 需求分析四则运算二 概要设计本程序只考虑”+”,”-“,”*”,”/”,”(“,”)”,6种运算符1 先进行乘除运算,在进行加减运算。2 对于相同的优先级,从左向右进行运算。3 若要改变优先级,可使用括号。对有
3、括号的表达式,先计算括号内,在计算括号外。三 详细设计(2+3)*5首先扫描到(,这时还不知道右括号在哪,因此,需要将左括号保存起来。接着继续扫描下一个字符2,也不知道该字符需要和后面的数据进行什么操作,继续获取下一个字符+,这时可知道是2+上某一个数,但具体还不知道是什么数,因此需要将+号保存。继续获取下一个字符3,这时可知道2+3,但是还不行,因为如果后边出现/或者*,要先计算/或者*,所以先将3保存起来,继续读取下一个字符),这时,就应该将前面保存的2=3取出来计算,得出结果。在上面的过程中,遇到右括号),则计算前面+的内容,表示右括号的优先级低于+号的优先级。四 设计与调试分析先进行加
4、减乘除运算,然后进行复合运算五 用户手册输入一个算式,以=号结束注:任意输入一个数据后进入系统,然后根据系统提示操作即可。六 测试成果七 附录(源程序清单)#include#include#define SIZE 50typedef int DATA;typedef struct stack DATA dataSIZE+1; int top;seqstack;seqstack *seqstackInit() seqstack *p; if(p=(seqstack *)malloc(sizeof(seqstack) p-top=0; return p; return NULL;void seqs
5、tackFree(seqstack *s) if(s) free(s);int seqstackIsEmpty(seqstack *s) return (s-top=0);void seqstackClear(seqstack *s) s-top=0;int seqstackIsFull(seqstack *s) return(s-top=SIZE);int seqstackPush(seqstack *s,DATA data) if(s-top+1)SIZE) printf(栈溢出!n); return 0; s-data+s-top=data; return 1;DATA seqstack
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 模板
限制150内