1、 I 程序的设计与实现程序的设计与实现 数据结构课程设计 目录目录 一、功能描述 1 1.1 系统实现的目的和意义 1 1.2 系统实现的功能 . 1 1.3 系统开发的环境 . 1 二、总体结构 1 2.1 文件清单(按文件系统树型方式排列) 1 2.2 系统功能结构图 . 2 2.3 系统的总流程图(标明每个模块的文件名) . 2 三、详细设计(均需注释). 2 3.1 数据结构 . 2 3.2 各模块(或算法)流程图(标明函数名) 2 四、系统实现 2 4.1 模块一(写出模块的名字) 10 4.2 模块二(写出模块的名字) 10 4.3 错误错误!未定义书签。未定义书签。 五、程序的过
2、程展示 . 18 5.1 程序运行过程展示 . 18 5.2 程序结果展示及分析 24 六、软件的辅助说明 . 24 6.1 本软件的优点 24 6.2 本软件的缺点 24 6.3 本软件的 BUG . 24 七、课程设计结论(意见、建议、心得、申报成绩). 24 八、参考文献(参考网站). 24 九、附录提交文档 24 9.1 书面形式清单 33 9.2 电子形式清单 33 9.3 文档命名要求 34 1 一、功能描述一、功能描述 1.1 系统实现的目的和意义:系统实现的目的和意义: 1数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设 计语言(C 语言) ,自行实现
3、一个较为完整的应用系统的设计与开发。 2通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一 步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。 3学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。 航空空订票系统: (1)熟练掌握链表存储结构及其建立过程和常用操作; (2)熟练掌握队列的建立过程和常用操作; (3)学会自己调试程序的方法并掌握一定的技巧。 1.2 系统实现的功能:系统实现的功能:航空客运订票的业务活动包括:查询航线、客票预订和办理退票 等。设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 1.
4、3 系统开发的环境:系统开发的环境:C 类,开发软件为 DEV C+ 二、总体结构二、总体结构 2.1 文件清单(按文件系统树型方式排列)文件清单(按文件系统树型方式排列) 浏览航线信息 读入文件(airplane.txt) 浏览已订票客户信息 按航班号查找 主 按终点站查询 菜 查询航线 按航班号查询 单 办理订票业务 办理退票业务 退出系统 2 2.2 系统功能结构图系统功能结构图 2.3 系统的总流程图系统的总流程图 N N N Y Y Y Y Y Y N N N 主函数 浏 览 航 线 信 息 浏 览 已 订 票 客 户 信 息 查 询 航 线 办 理 订 票 业 务 办 理 退 票
5、业 务 退 出 系 统 开始 创建队列 显示菜单 输入操作编 号 编号为1? 编号为2? 编号为3? 编号为4? 编号为5? 编号为6? 结束 调用 list()函 数 调用 prtlink() 函 数 调用 search()函数 调用 return_tkt( )函数 调用 order()函 数 3 三、详细设计(均需注释)三、详细设计(均需注释) 3.1 数据结构数据结构 订票跟退票的模块均用到了链表跟队列的知识。以退票模块为例:(退票模块涉及到两方面,一 是客户将定完的票推掉,二是将客户退掉的票安排给排队的客户) void return_tkt() /*退票模块*/ struct airl
6、ine *info; qnode *t,*back,*f,*r; int grade; linklist *p1,*p2,*head; char cusname10; if(!(info=find() return;/*调用查询函数,根据客户提供的航线进行搜索*/ head=info-order; p1=head; printf(“请输入你的姓名(退票客户):“); scanf(“%s“,cusname); while(p1!=NULL) /*根据客户提供的姓名到订票客户名单域进行查询*/ if(!strcmp(cusname,p1-name) break; p2=p1; p1=p1-next; if(p1=NULL) printf(“对不起,你没有订过票!n“); return; /*若未找到,退出本模块*/ else /*若信息查询成功,删除订票客户名单域中的信息*/ if(p1=head) head=p1-next; else p2-next=p1-next; info-