![数据结构课程设计——报告_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-8/17/492e0350-41d4-4766-a09e-f096f7e00ef7/492e0350-41d4-4766-a09e-f096f7e00ef71.gif)
![数据结构课程设计——报告_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-8/17/492e0350-41d4-4766-a09e-f096f7e00ef7/492e0350-41d4-4766-a09e-f096f7e00ef72.gif)
![数据结构课程设计——报告_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-8/17/492e0350-41d4-4766-a09e-f096f7e00ef7/492e0350-41d4-4766-a09e-f096f7e00ef73.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课程设计报告例)Harbin Huade University课程设计报告王婧、龚丹、宋毅编写题目:航空订票管理系统学期: 2014 秋班号:学号:姓名:成绩:哈尔滨华德学院电子与信息工程学院一、实训设计的目的与要求(注:正文 为宋体,五号字,为单倍行距) (一)课程设计目的(不少于 100 字) 1数据结构课程设计是综合运用数据 结构课程中学到的几种典型数据结构, 以及程序设计语言( C 语言),自行实 现一个较为完整的应用系统。 2 通 过课程设计, 自己通过系统分析、 系统 设计、编程调试,写实验报告等环节, 进一步掌握应用系统设计的方法和步 骤,灵活运用并深刻理解典型数据结构
2、在软件开发中的应用。3 学会将知识应用于实际的方法, 提 高分析和解决问题的能力, 增加综合能 力。具体的有:(1)熟练掌握链表存储结构及其 建立过程和常用操作;(2)熟练掌握队列的建立过程和 常用操作;(3)学会自己调试程序的方法并 掌握一定的技巧。(二)题目要求(不少于 100 字) 1每条航线所涉及的信息有:终点站 名、航班号、飞机号、飞机周日(星期 几)、乘员定额、余票量、订定票的客 户名单(包括姓名、订票量、舱位等级 1,2或 3)以及等候替补的客户名单 (包 括 姓 名 和 所 需 数 量 ) 。 2系统能实现的操作和功能如下:(1)查询航线:根据客户提出的 终点站名输出如下信息:
3、 航班号、 飞机 号、星期几飞行和余票额;(2)承办订票业务:根据客户提 出的要求(航班号、订票数额)查询该航班票额情况, 若有余票, 则为客户办 理订票手续, 输出座位号; 若已满员或 余票量少余订票额, 则需重新询问客户 要求。若需要,可登记排队候补;(3)承办退票业务:根据客户提 出的情况(日期、航班号) ,为客户办 理退票手续,然后查询该航班是否有人 排队候补,首先询问排在第一的客户, 若所退票额能满足他的要求, 则为他办 理订票手续, 否则依次询问其它排队候 补的客户。二、实训环境配置Win dows 系统CodeBlocks三、设计正文1需求分析 本订票系统能够实现全部航线信 息的
4、浏览功能、 订票客户信息的查询功 能、单条航线查询功能、 订票功能和退 票功能 。具体分析如下:a) 全部航线信息的浏览功能 浏览全部系统预设的航线信息, 每条航 线包含的信息有:终点站名、航班号、 飞机号、飞行周日(星期几飞行) 、乘 员定额和余票量。b) 订票客户信息的查询功能 根据输入的航班号查询该航线所有订 票客户的信息, 包括客户姓名、 订票数 额和舱位等级。c) 单条航线查询功能 根据客 户输入的终点站名查看该航线上所涉 及的信息。d) 订票功能 根据客户提出的 要求(航班号、订票数量)查询该航班 票额情况,若尚有余票,则为客户办理 订票手续,输出座位号;若已满员或余 票额少于定票
5、额,则询问客户是否愿意 排队等候,若愿意,系统则自动登记排 队候补。e)退票功能根据客户提供的 情况(航班、姓名),询问退票张数, 然后为客户办理退票手续。接着系统自 动查询该航班是否有人排队候补,首先 询问排在第一的客户,若所退票额能满 足他的要求,则为他办理订票手续,否 则依次询问其他排队候补的客户。2功能框图航空订票系统图 1 航空订票系统3算法设计(1)浏览航线模块:定义 void display( struct airline *info), 用 info 指向结构体 struct airline中的每一个成员;调用 list ()函数输出 全部航线信息。(2)浏览订票客户信息模块:
6、 定 义订票客户信息的结构体 ord_ros, 根 据输入航班号调用 find ()函数寻找 客户信息。(3)查询航线模块: 顺着单链表 查找,如果与航班号(航线)一致,输 出相关信息,否则,查询不成功。(4)订票模块:查找乘客要订的 航班号, 判断此航班是否有空位, 有则 输入乘客有关信息, 订票成功 , 否则失(5) 退票模块:输入要退票的乘 客姓名,查找乘客资料的链表中是否有 这位乘客,有则删去此节点,并在空位 上加1,无则退票失败。如果此时余票 额大于等于候补客户的订票数量,那么 候补客户订票成功。4界面设计 运行主界面恿户VS跌订戯票穿统 航已fln.-.T良一益 養询JI理岀 自冽
7、書n-p退1 z J 4- 5 6图2运行界面5 系统测试 订票测试缪点姑客bfti jiin9 s IwingHn iLondon済选搔笄桜回车腱结耒讥*効号飞机号行周B乘员定颓箱UH3nCH2Ffit1余衆量HflSViS1M2LlkKJl户客:1竄级番盘Al入入金座诵选忤二呵回车縫给枣=牛订崇咸坡,况代能迸谕快图3订票测试退票测试一卡 2 週S 丿数 rl名t票 ?M-fin=HlFir 产柠些遞 A1人E/J t*a- -1 r -fc-YAi T请选择幷按旦车键结束汚3 2 1 !_ !喙茸F 起学去厘厘- 为订H的01一.图4退票测试四、小组成员分工说明独立完成五、总结 1算法改进
8、设想:(1)在算法效率上,由于此课程 设计所用的是线性表的建立、 查找、 插 入、删除、和队列的建立、 插入、删除, 所涉及的是查找和排序问题, 所以在建 立插入时按照客户姓名进行有序, 查找 时采用分块查找, 因此对订票客户信息 的存储应采用指针数组存储。(2)在函数重组,把处理不同问 题相同算法思想 (如线性表的插入、 删 除、查找等等)写在一个函数中,其它 函数要用到这种操作时只需调用这些 函数,这样会减少整个程序的代码量, 方便理解、阅读和使用。2课程设计期间的主要收获:看着简单, 做着难, 我自己眼高收 低,心太急,不过敢想敢写感尝试,努 力付出还真有蛮多收获。(1) 学与做:做了这
9、次课程设计, 我觉得课程设计这种形式真的是我们 需要的, 可以让我们学到很多, 包括书 上的、书外的。理论永远不等于实际。 我在调试时出现了很多的问题, 下面列 举几个:程序中定义了一个字符串“new,但在C-Free中new不是以 未定义的形式存在,所以把“ new”改 写 成 “ NEW 就 可 以 了 ; C-Free 中“ getchar ”表示读取下一个字符的含 义,而“ getch ”不表示, 出现“ getch ” 时系统会报错; 在编写退票模块的代码 时,设计先输入退票数然后进行退票, 调试时发现舱位等级的输出出现了混 乱, 后来经仔细分析才 知道, 原来 “ grade=p1
10、-grade; ”放在了 if() 大 循环的后面,而在if循环里pl已经释 放,所以把“ grade=p1-grade; ”放在 第一个“ free(p1); ”之前就可以了。 真正会了这些算法,理论和实际永远 差那么一点,不去做是体会不出来的。 坐在电脑前才真正知道自己会不会, 眼 高手低是要不得的。(2) C 与算法描述:在学数据结构 的时候总是分不清算法与 C 语言的区 别,总觉得算法就是程序了, 通过这两 周的课程设计总算是把它们之间的关 系搞透彻了。其实算法是解决问题的步 骤;程序是算法的代码实现; 算法要依 靠程序来完成功能; 程序需要算法作为 灵魂。两者是相互联系密不可分的。(
11、3) 小收获:摸索着做完课程设计, 增强了自己的自学能力, 这应该是最有 用的吧,语言会过时, 学习的能力却不 会过时。构造结构体 ; 定义清晰明确的 各种变量;主函数、 子函数的声明及定 义。另外:对函数调用,参数传递很有 体会。(4) 遇到的问题与感受:这次课程 设计面临的大问题就是选择的余 地太大,头脑不好受。连续几天的思考, 我都不能决定攻克哪个, 好几个都是考 虑了一部分又放弃了,以至前功尽弃。 这使我认识到认定干一件事就必须将 它干到底,以使自己的思想连续。 我也 开始考虑当事情有重叠时,如何去应 对,虽然最后的抉择不一定是对的。 我 也在这段时间内好好地看了一遍书, 对 书中的算法思想有一个更深的了解, 虽 然在应用中显得不是很自如, 可我通过 这次课设体验到可视化编程的乐趣。 这 也给我以后编程莫大的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股权抵押担保协议书年
- 肥料农药采购合同样本
- 编程语言与软件开发职业规划作业指导书
- 2025年赣州b2货运资格证多少道题
- 2025年桂林货运从业资格证模拟考试驾考
- 2025年洛阳货车从业资格证考什么
- 2025年博尔塔拉下载货运从业资格证模拟考试题
- 2025年安徽货运车辆从业资格证考试题
- 疾病筛查服务合同(2篇)
- 2024-2025学年高中物理第14章电磁波第3节电磁波的发射和接收课后练习含解析新人教版选修3-4
- 社区获得性肺炎教学查房
- 病例展示(皮肤科)
- GB/T 39750-2021光伏发电系统直流电弧保护技术要求
- DB31T 685-2019 养老机构设施与服务要求
- 燕子山风电场项目安全预评价报告
- 高一英语课本必修1各单元重点短语
- 糖尿病运动指导课件
- 完整版金属学与热处理课件
- T∕CSTM 00640-2022 烤炉用耐高温粉末涂料
- 心脑血管病的危害教学课件
- 民用机场不停航施工安全管理措施
评论
0/150
提交评论