《数据结构》课程设计报告模板.doc
《《数据结构》课程设计报告模板.doc》由会员分享,可在线阅读,更多相关《《数据结构》课程设计报告模板.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程设计报告设计题目 航空客运订票系统 专 业 2011级软件工程 班 级 2011级软件工程 姓 名 杜祥畅 学 号 完成日期 2012-12-29 目 录1. 问题描述 12. 系统设计 13. 数据结构与算法描述24. 测试结果与分析35. 总 结56. 参考文献5附录 程序源代码5(报告正文部分):课程设计题目1. 问题描述航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。设计一个航空客运订票系统,以使上述业务可以借助计算机完成。功能如下:a 查询航线:用户给出终点站名,系统输出航班班次、飞机号、时间及多余票额;b 承办订票业务;c 退票业务。2. 系统设计2.1 设
2、计目标 数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构以及程序设计语言C语言自行实现一个较为完整的应用系统。 2通过课程设计自己通过系统分析、系统设计、编程调试写实验报告等环节进一步掌握应用系统设计的方法和步骤灵活运用并深刻理解典型数据结构在软件开发中的应用。 3 学会将知识应用于实际的方法提高分析和解决问题的能力增加综合能力。 1熟练掌握链表存储结构及其建立过程和常用操作 2熟练掌握队列的建立过程和常用操作 3学会自己调试程序的方法并掌握一定的技巧。2.2 设计思想设计思想 我们需要建立的是具有能对数据的插入删除检索功能的软件。由于乘客的数量较大且不固定因此选择用链表来保存乘
3、客的基本信息终点站名航班号飞机号飞行时间星期几成员定额余票量等等由于预约人数无法预计队列也应以链表作存储结构。所以我们建立一个可以插入和删除节点的链表并能检索这个链表在必要的时候将链表的内容保存到文件中。系统主要 实现的操作和功能是查询航线订票功能退票功能。要实现这些功能首先要使程序实现查找功能在查找出到有效信息的前提之下通过链表的赋值更新信息和删除退票人信息满足客户的要求。 2.3 系统模块划分表 航空客运订票系表列名数据类型长度可否为空终点站名char10Not null航班号char10Not null飞机号char10Not null飞行周日(星期几)charNot null乘员定额i
4、nt Not null余票量int Not null3. 数据结构与算法描述系统结构图(功能模块图) 航空订票系统 退 出 系 统 浏 览 航 线 信 息 浏 览 订 票 客 户 信 息 办 理 退 票 业 务 办 理 订 票 业 务 查 询 航 线图3-1总体结构设计框图4. 测试结果与分析(可将测试过程抓图说明)(1) 主菜单 (2) 浏览航线信息(3) 办理订票业务(4) 浏览已订票客户信息(5) 查询航班(6) 办理退票业务(7)再次浏览航线信息 5. 总 结这是我们第一次自己去设计一个比较系统的程序,对我们来说也是一个很好的锻炼。首先,为了能写出程序,我将以前所学都好好的巩固了一遍,
5、并且努力的去灵活的运用。起码现在对结构体,链表的操作还是熟练了很多。以前一些很模糊的知识点,通过这次练习,很多都清楚起来。其次,平时都是编写一些单个的操作,这次需要自己写出一个可以实现几个功能的系统性的程序,刚开始时是一头雾水,但经过大家的讨论,自己的摸索,也慢慢找到了方法。这让我体会到,在编写程序时,不仅需要扎实的知识,还要有细心周到的考虑,同学之间的合作也是很重要的。在这两个星期里,我觉得发现了自己还有很多很多的不足,也深刻的体会到了自己还有很多东西要学,而且要真的掌握,还得多用心,多用脑。计算机的确不好学,但只要努力就会有收获。这次程序是写了不少,但还是没能运行出一个正确的结果,不过我相
6、信,经过以后的学习和努力,是肯定能做出一个好的程序来的!6. 参考文献 (包括书籍、论文、网络资料等) 1 严蔚敏等.数据结构(C语言版).北京:清华大学出版社. 2 武法提.基于网络的学习环境的设计. 2004.10.6附录 程序源代码#include #include #include #define MAXSIZE 3 /*定义航线量的最大值*/typedef struct wat_ros char name10;/*姓名*/ int req_amt;/*订票量*/ struct wat_ros *next;qnode,*qptr;typedef struct pqueue /*定义单链
7、队列*/ qptr front;/*等候替补客户名单域的头指针*/ qptr rear;/*等候替补客户名单域的尾指针*/linkqueue;typedef struct ord_ros char name10;/*客户姓名*/ int ord_amt;/*订票量*/ int grade;/*舱位等级*/ struct ord_ros *next;linklist;struct airline char ter_name10;/*终点站名 */ char air_num10;/*航班号*/ char plane_num10;/*飞机号*/ char day7;/*飞行周日(星期几)*/ int
8、 tkt_amt;/*乘员定额*/ int tkt_sur;/*余票量*/ linklist *order;/*乘员名单域,指向乘员名单链表的头指针*/ linkqueue wait;/*等候替补的客户名单域,分别指向排队等候名单队头队尾的指针*/lineinfo;struct airline *start;void display(struct airline *info)/*打印每条航线的基本信息*/printf(%8st%3st%st%4stt%3dt%10dn,info-ter_name,info-air_num,info-plane_num,info-day,info-tkt_amt
9、,info-tkt_sur);void list()/*打印全部航线信息*/ struct airline *info; int i=0; info=start; printf(终点站名t航班号t飞机号t飞行周日t乘员定额t余票量n); while(iMAXSIZE) display(info); info+; i+; printf(nn);void search()/*根据客户提出的终点站名输出航线信息*/ struct airline *info,*find(); char name10; int i=0; info=start; printf(请输入终点站名:); scanf(%s,na
10、me); while(iter_name) break; info+; i+; if(i=MAXSIZE) printf(对不起,该航线未找到!n); else printf(终点站名t航班号t飞机号t飞行周日t乘员定额t余票量n); display(info); struct airline *find()/*根据系统提出的航班号查询并以指针形式返回*/ struct airline *info; char number10; int i=0; info=start; printf(请输入航班号:); scanf(%s,number); while(iair_num) return info
11、; info+; i+; printf(对不起,该航线末找到!n); return NULL;void prtlink()/*打印订票乘员名单域的客户名单信息*/ linklist *p; struct airline *info; info=find(); p=info-order; if(p!=NULL) printf(客户姓名 订票数额 舱位等级n); while(p) printf(%stt%dt%dn,p-name,p-ord_amt,p-grade); p=p-next; else printf(该航线没有客户信息!n);linklist *insertlink(linklist
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 模板
限制150内