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

下载本文档

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

文档简介

航空公司订票系统航空公司订票系统 一 我的一 我的认识认识和和设计思路设计思路 1 我充分利用数据结构课程设计 利用几种典型数据结构 链表 队列 线性表等结构 结合上学期学习的程序设计语言 C C 语 言 链表链表是实现存储空间动态管理的链式存储结方式 而队队是一 种操作受限的线性表 使用大量指针 来实现一个比较完整的应用 系统的设计与开发 2 我通过课程设计一些程序的调试 比如背包问题 病人看病模 拟程序 停车场管理程序 通过比较系统的分析 编程和不断调 试 进一步理解和掌握应用系统设计的方法和步骤 灵活运用并深 刻理解典型数据结构在软件开发中的应用 基本上达到了复习的要 求 3 我将知识应用于实际的方法 联想到售票系统的使用 也可以 提高综合能力 所以我选择了航空订票系统 也可以应用于其他售票 系统 航空空订票系统所涉及的知识 1 熟练掌握链表存储结构及其建立过程和常用操作 2 熟练掌握队列的建立过程和常用操作 3 学会自己调试程序 4 通过上网查询和结合实际可知 航空客运订票的业务活动包括 查询航线 客票预订和办理退票等等 设计了一个航空公司订票系 统 以使上述业务可以借助计算机来完成 下面是一些程序功能设想 1 1 每条航线所涉及的信息有每条航线所涉及的信息有 终点站名 航班号 飞机号 飞 行日 星期几 乘员定额 余票量 已订票的客户名单 包括姓 名 订票量 舱位等级 1 2 或 3 以及等候替补的客户名单 包括 姓名 所需票量 2 2 全部数据可以只放在内存中 全部数据可以只放在内存中 3 3 系统能实现的操作和功能如下系统能实现的操作和功能如下 a 查询航线 根据旅客提出的终点站名输出下列信息 航班号 飞机号 星期 几飞行 最近一天航班的日期和余票额 b 承办订票业务 根据客户提出的要求 航班号 订票数额 查询该航班票额情况 若尚有余票 则为客户办理订票手续 输出座位号 若已满员或余票额少于定票额 则需重新询问客户 要求 若需要 可登记排队候补 c 退票业务 根据客户提供的情况 日期 航班 为客户办理退票手续 然 后查询该航班是否有人排队候补 首先询问排在第一的客户 若所 退票额能满足他的要求 则为他办理订票手续 否则依次询问其他 排队候补的客户 功能系统图 功能系统图 主函数 浏览航线信 息 浏览已订票 客户信息 查询航线办理订票业 务 办理退票业 务 退出系统按剩余票数 排序 实现的功能模块说明实现的功能模块说明 1 显示全部航线的信息 2 查询订票客户的信息 3 根据客户提供的终点站 调用 find 函数进行查找 调用 list 函数输出航线信息 4 办理订票业务 根据客户提供的航班号进行查询航线信息 若客户订 票额超过乘员定票总额 退出 若客户订票额末超过余票量 订票成功并登记 信息 在订票乘员名单域中添加客户信息 如果暂时没有票 询问客户是否要 排队等侯 如果是 则在等候队列增加该客户的订票信息 5 办理退票业务 调用查询函数 根据客户提供的航线进行搜索根据客 户提供的姓名到订票客户名单域进行查询 退票成功后 重新将航线名单域指 向订票单链表的头指针 根据队列中从出的客户信息判断是否满足要求 如果 满足 则将该客户的信息插入到乘客信息链表中 6 退出本系统 二 我进行了以下改进 二 我进行了以下改进 1 主函数的表达方式 菜单界面的的改进 menu menu printf printf 请选择菜单请选择菜单 n n i 5 i 5 scanf d scanf d switch i case 1 printf 请输入要查询的线 n scanf s airline printf 航线 n printf 起点 终点 飞机号 航班 号 飞行周日 乘员定额 余票数 n lookup airline LF break case 2 printf 请输入要预定的航班号 n scanf d book number LF break case 3 printf 请输入要退票的航班号 n scanf d back ticket number LF break case 4 printf 查看客户资料 输入客户的航班号 n scanf d intint menu select menu select 菜单界面 int c char s 20 printf n t t 航空客运订票系统 n printf n printf 1 浏览航线信息 n 添加的功能 printf 2 查询客户信息 n printf 3 查询航线 n printf 4 办理订票业务 n printf 5 办理退票业务 n printf 6 退出系统 n printf n do printf 请选择 scanf s s c atoi s while c7 return c voidvoid main main struct airline air MAXSIZE beijing 1 k6643 SUN 3 3 h ainan 2 k850 MON 2 2 xingjiang 3 b228 2 FRI 1 1 初始化航线信息 clrscr GetElem LF number break case 5 drop out 1 break default printf 选择有误 n start air for switch menu select case 1 list break case 2 prtlink break case 3 search break case 4 order break case 5 return tkt break case 6 printf n 欢迎使用本系统 再见 n exit 0 printf nPress any key to continue n getch 三 详细设计及运行结果详细设计及运行结果 1 显示已初始化的全部航线信息显示已初始化的全部航线信息 3 查询航线 开始 初始化 iter name info i i MAXSIZE 调用函数输出 未找到 结束 4 办理订票业务 开始 初始化 info find 客户订票额不超过乘员定 票总额 登记信息 加到客户名单域 结束 在排队等候乘员名单域中 添加客户信息 5 办理退票业务 开始 调用 find 函对航线搜索 数 p1 NULL p1 NULL 删除客户信息 重新将航线名单域指向订票单链表的头 指针 重新将航线名单域指向订票单链 表的头指针 r 指向排队等候名单队列的 尾结点 t 不为空 将客户信息插到订票客户名 单链表 头结点 将客户信息插到订票客 户名单链表 结束 四 改进后的运行结果 四 改进后的运行结果 窗口反而变得简单 明了 1 1 浏览航线信息 浏览航线信息 2 2 查询航线 查询航线 3 3 办理退票手续 办理退票手续 4 4 办理订票和查询客户信息 办理订票和查询客户信息 五 总结和体会五 总结和体会 总体的思路和过程 我在编译和调试的时候 选择 Visual C 6 0 因为实验室的工具有些欠 缺 通过上网和同学交流 进行了改进 在自己的计算机上更改了入径之后 该工具比较稳定 在使用调试这个强大工具时才发现上学期的遗留问题 还不 是很熟悉 这需要今后进一步的练习 验证了一句话 代码是敲出来的 不是 看出来的 在一周半的时间里 我不断地对程序各模块进行修改 编译 调试 运行 其间遇到很多问题 在编写的时候我只会使用相对较为简单的基础语言 凭 借 C 语言的基础 代替了相对较为复杂的语言 降低了运行效率 其中在程 序的主函数 switch 语句的使用中得到验证 不同的表示会有不同的效果 源程序会经常出现溢出错误 而且不只一处 比如队空队满的判断 函数 定义的数据类型出现了问题 对函数的定义不清楚 字符的不正确定义造成了 一些不必要的错误 而我又认识了几种函数应用 比如 1 getch 和 getchar 在使用是功能相同的 但 getch 并非标准 C 中的函数 不存在 C 语言中 它所在头文件是 conio h 所以在使用的时候要注意程序的可移植 性 也只有国内 C 语言新手常常使用 getch 来暂停程序且不知道此函数来源 建议使用 getchar 在不同平台 输入回车 getch 将返回不同数值 而 getchar 统一返回 10 即 n 用 getch 会等待你按下任意键 再继续执行下 面的语句 2 也知道了 exit 0 正常结束程序运行 exit 非 0 非正 常结束程序运行 3 函数 strcpy lnew name name 是把 name 指向 的字符串复制给 lnew name 中去 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

提交评论