航空客运订票系统程序设计.PPT

上传人:天*** 文档编号:961399 上传时间:2018-11-09 格式:PPT 页数:12 大小:73KB
下载 相关 举报
航空客运订票系统程序设计.PPT_第1页
第1页 / 共12页
航空客运订票系统程序设计.PPT_第2页
第2页 / 共12页
航空客运订票系统程序设计.PPT_第3页
第3页 / 共12页
航空客运订票系统程序设计.PPT_第4页
第4页 / 共12页
航空客运订票系统程序设计.PPT_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、航空客运订票系统程序设计姓 名:潘强辉专 业:计算机科学与技术班 级: 0203108指导教师:毕建东目录一、 背景和问题的抽象及分析 31、问题的背景2、问题的抽象3、时间复杂度分析二、 关键字 . 4三、 数据结构设置 . 5四、 程序的实现和特点 . 71、程序的实现2、程序的特点五、 结论 10六、 参考文献 11七、 致谢 12背景和问题的抽象及分析1 问题的背景飞机场每天要接受大量的订票退票服务,还有互联 网上的异地订票等。对这些数量巨大的数据,需要一个专门的软件来进行管理和操作。软件至少需要具备的基本功能包括:接受订票,处理退票,查询乘客信息,查询航班信息等等。2 问题的抽象从问

2、题的提出可以看到,我们需要的只是能实现对数据的插入 ,删除,检索这样一个软件。由于乘客的数量较大并且不固定,因此选择用链表来保存乘客的基本信息:包括乘客的姓名,身份证号,搭乘班机的航班号,以及预定的座位号(假设座位预先订号)。为了将这些信息保存起来以备下次程序运行时调用,将必需的信息写入文件中,在程序的初始化时读入。综合一下来看,我们需要做的是建立一个可以插入和删除节点的链表,并能检索这个链表,在必要的时候将链表的内容保存到文件中。3 时间复杂度分析因为用的是链表和队列的操作,所以时间复杂度是 O(n)目录关键字飞机信息 包括乘客的基本信息,班机剩余的机票等。部分匹配检索被检索的内容只要和关键

3、字有部分匹配就认为是符合条件的结果。例如:搜索 ivan, 则包含 ivan的乘客都被列出。文件操作为防止意外死机,断电等不稳定因素,只要在程序中链表的内容作了修改就将链表重新写入文件中。目录数据结构设置为简化问题,假设有 3架飞机,并且每架飞机有 5张票,每天有到一个地点的 1架飞机。#define m 4 /3架飞机#define n 5 /每架飞机 5张票节点中保存的信息包括姓名, ID, 班机号,座位号,时间struct node char name21;char id21;int seat,plane,date;node *next,*pre;每架飞机设置一表头节点 head1,he

4、ad2,head3.为方便编程,再设置一数组用来保存每架飞机机票的销售情况struct piao目录数据结构设置int seatn+1;并将链表信息保存至 information.dat,将票的信息保存至 piao.dat两个文件中。每次运行程序都对这两个文件进行读写。将等候的队列保存在 wait.txt中struct waitchar name21;char id21;char phone8;int seat,plane,date;wait *next,*pre;目录程序的实现和特点1 初始化初始化由两部分组成。先进行机票的初始化,例如 1 0 0 0 0 1 2 0 1 1 0 0前面六个

5、数字表示第一架飞机情况,已定 1张票,是第五号,后六个数字是地二架飞机的信息, 2, 3两张票被预定。接下来进行乘客信息的初始化。根据机票初始化决定储存每架飞机信息的链表从 information.dat中读取多少个数据块。按照上面的例子, head1将从information中读取一个长度为 node的 struct类型数据, head2将读取 2个。目录程序的实现和特点2 程序主体初始化后将进入主程序,主程序包括以下函数来实现必要功能:void makenull(); /初始化,包括两部分void makenull_piao(); /从文件中读入票的信息void makenull_info

6、rmation(); /从文件中读入乘客信息void list_menu(); /显示主菜单void list_piao(); /显示指定班机的余票void list_information(); /选择要察看的班机void plane_information(node *head); /显示指定班机中所有乘客信息void book(); /实现订票的功能void add_information(node *head,int x,int y); /订票后将乘客信息加入相应的链表void search_delete(int x); /参数 x=0实现查找, x=1时实现删除void write_

7、to_file(); /将票和各链表的信息写入文件中bool comp(node *x,node*y); /判断是否匹配在主程序的循环中选择相应的操作,进入相应的函数实现想要的功能。目录程序的实现和特点3 程序的特点i. 自动生成程序所需的 .dat文件。运行程序时,若找不到初始化所需的两个文件,程序将视所有数据为空,即所有班机的机票都未被预定。例如,首次运行该程序,不采取任何操作或加入若干信息后退出,将生成 piao.dat和information.dat两个文件。ii. 部分匹配的检索。输入完整的乘客信息将得到唯一的结果,若输入的乘客信息不完整,将一一列出所有与关键词符合的资料。在删除乘客

8、信息的时候也采用了这种方式。例如,已经存在两个乘客: ivan ivanpank, 查找时输入 ivanpank, 将列出 ivanpank的完整信息,并输出 “检索结束 ”字样,若输入 iva, 则依次列出 ivan ivanpank的完整信息。删除时输入 iva, 将列出每个含有 iva的乘客信息,并询问是否删除。iii. 及时存储,程序中只要对链表的内容进行了改动,就立即写入文件,从而加大了程序的安全性,减小了对各种不安全因素可能引起的损失。 可以对暂时无法订票的客户进行排队,生成 wait.txt文件储存客户信息,当有人退票时,判断是否符合排队客户的要求,如果符合,则自动对排队的人进行订票,同时删除此人在队列中的信息。并显示通过电话联系本人。目录结论基本上能安全的运行,具备的功能符合题目的要求。用了文件的操作,是此程序的最大优点。程序写的还算简练,结构清晰,各个模块的分工和功能明确。整个程序用了 475行,大小 9.87kb。目录

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。