数据结构大作业-航空公司订票系统_第1页
数据结构大作业-航空公司订票系统_第2页
数据结构大作业-航空公司订票系统_第3页
数据结构大作业-航空公司订票系统_第4页
数据结构大作业-航空公司订票系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、我的 认识 和设计思路1 我充分利用数据结构课程设计,利用几种典型数据结构( 链表,队列,线 性表等结构),结合上学期学习的程序设计语言(C/C+吾言),链表是实现存 储空间动态管理的链式存储结方式,而 队是一种操作受限的线性表 。使用大量 指针,来实现一个比较完整的应用系统的设计与开发。2 我通过课程设计一些程序的调试(比如 背包问题 ,病人看病模拟程序 ,停 车场管理程序 ),通过比较系统的分析、编程和不断调试,进一步理解和掌握 应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中 的应用 。基本上达到了复习的要求。3 我将知识应用于实际的方法,联想到售票系统的使用,也可

2、以提高综合能 力。所以我选择了航空订票系统 , 也可以应用于其他售票系统。航空空订票系统所涉及的知识:1)熟练掌握链表存储结构及其建立过程和常用操作;2)熟练掌握队列的建立过程和常用操作;3)学会自己调试程序。4. 通过上网查询和结合实际可知, 航空客运订票的业务活动包括: 查询航线、 客票预订和办理退票等等。设计了一个航空公司订票系统,以使上述业务可以 借助计算机来完成。面是一些程序功能设想:1 每条航线所涉及的信息有 :终点站名、航班号、飞机号、飞行日(星期 几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级 1,2或 3)以及等候替补的客户名单(包括姓名、所需票量);2

3、全部数据可以只放在内存中;3系统能实现的操作和功能如下 :a)查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最 近一天航班的日期和余票额;b) 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余 票,则为客户办理订票手续,输出座位号;若已满员或余票额少于定票额,则需重新询问客户要求。若需 要,可登记排队候补;c) 退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航 班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求, 则为他办理订票手续,否则依次询问其他排队候补的客户。功能系统图:Z、主函数实

4、现的功能模块说明显示全部航线的信息;查询订票客户的信息;(3) 线信息;根据客户提供的终点站,调用find()函数进行查找,调用list ()函数输出航(4)办理订票业务:根据客户提供的航班号进行查询航线信息,若客户订票额超过乘 员定票总额,退出,若客户订票额末超过余票量,订票成功并登记信息,在订票乘员名单域 中添加客户信息;如果暂时没有票,询问客户是否要排队等侯,如果是,贝恠等候队列增加 该客户的订票信息。(5)办理退票业务:调用查询函数,根据客户提供的航线进行搜索根据客户提供的姓 名到订票客户名单域进行查询。退票成功后,重新将航线名单域指向订票单链表的头指针。 根据队列中从出的客户信息判断

5、是否满足要求, 如果满足,则将该客户的信息插入到乘客信 息链表中。(6)退出本系统、我进行了以下改进:(1)主函数的表达方式。菜单界面的的改进:menu();int menu _select()/*菜单界面*/printf(请选择菜单:n);i=5;scan f(%d,&i);switch(i)case 1:printf(”请输入要查询的线:n);sca nf(%s,airli ne);printf(”航线n); int c;char s20;prin tf(ntt航空客运订票系统n);prin tf(*n);printf(”号飞行周日起点- 终点 飞机号 乘员定额余票数n);航班prin t

6、f(1.浏览航线信息:n);prin tf(3.查询航线n);prin tf(4.办理订票业务:n);prin tf(5.办理退票业务:n);prin tf(6.退出系统n);询客户信息:n);look up( airl in e,LF);break;case 2:printf(”请输入要预定的航班号:n);sca nf(%d,&nu mber);book (nu mber,LF);break;case 3:printf(”请输入要退票的航班号:n);sca nf(%d,&nu mber);back_ticket (nu mber,LF);break;case 4:printf(”n ”);查

7、看客户资料,输入客户的航班号sca nf(%d,&nu mber);prin tf(*n);do printf(”请选择:”);sca nf(%s,s);c=atoi(s);GetElem(LF ,nu mber);break;case 5:drop _out= -1;break;default:printf(”选择有误n);开始I结束getchO;会等待你按下任意键,再继续执行下面的语句;(2)也知道了 exit(O) : /正常结束程序运行 【exit(非0):非正常结束程序运行】(3)函数strcpy (Inew-name,name);是把 name指向的字符串复制给 Inew-name

8、 中去;strcmp(name,info-ter_name)/比较字符串 name和info-ter name 的大小 (4)测试用例具有一定的广泛性。 运行程序时输入了多种不同字符信息, 经过多次修改结果 达到了预期效果。说明程序具有一定的可靠性和稳定性,可以应用于其他一些系统中。加深了自己对 c 语言的规范使用。例如,调用函数时,数组只需要传递数组名即可;字 符0和整形的 0 是不同的文明不可以直接对其画等号。并且在调试的过程中,我也发现 使用结构体数组来存储存编译的字符, 编译代码时通过结构体数组来实现要优于使用链表。学习体会这次的大作业, 是我更加认识了数据结构, 对调试掌握的也更加熟练了一些, 改变了过 去只调试不知道如何对照程序语言修改程序的坏习惯,对调试也有了新的认识,理解了调 试的目的和意义,意识到了程序语言的规范性以及我们在编程时要耐心,要严谨,同时在 写程序时多多加些注释,既增加了程序的可读性,也可以使自己在读程序时更容易,更清 楚。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论