网站大量收购独家精品文档,联系QQ:2885784924

基于C语言的飞机订票系统_毕业设计.doc

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于C语言的飞机订票系统 一、需求分析 1、本程序中,输入为字符串小写大写字符和整形; 2、以字符串输出; 3、本订票系统要能够实现航班情况的录入功能、航班的查询功能、订票功能、退票功能以及管理本系统的功能,具体为: (1)录入功能 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) (2)查询功能 可以查询某个航线的情况(如,航班号,查询起降时间,起飞抵达城市,航班票价,确定航班是否满仓); (3)订票功能 可以订票,如果该航班不存在,则订票失败; (4)退票功能 可以退票并且记录乘客的相关信息以及退票信息;如客户资料:有姓名,证件号,订票航班情况,订单要有编号。 4、测试数据:订票正确输入航班号‘f2009’订票人姓名‘yangyating’ID‘0841919204’管理员正确密码“5566” 二、概要设计 1、程序包含以下模块: 每个模块的算法设计说明如下: (1)录入模块: 查找单链表的链尾,在链尾插入一个“航班信息”的新结点。 (2)查询模块: 提供两种查方式:按航号和按航线查询,1代表按航号查询,2代表按航线查询。0则表示退出查询。 顺着单链表查找,如果与航班号(航线)一致,输出相关信息,否则,查询不成功。 (3)订票模块: 查找乘客要订的航班号,判断此航班是否有空位,有则输入乘客有关信息,订票成功,否则失败。 (4)退票模块: 输入要退票的乘客姓名以及证件号码,查找乘客资料的链表中是否有这位乘客,有则删去此结点,并在空位加上1,无则退票失败。 (5)修改模块: 输入密码,确认是否有权限对航班信息进行修改,有则在航班信息链表中查找要修改的结点,进行修改,否则不能修改。 流程图 飞机订票系统 飞机订票系统 录入航班信息 查看航班信息 退票 修改 订票 主函数流程图 显示功能选项 显示功能选项 根据N调用模块函数 YES 输入N:判断N是否在0~4之间 NO 三、详细设计 1、航班的信息类型:为了便于查找和修改,航班的情况存储结构采用单链表,每个元素表示一个航班的情况,包括航班号、起飞达到的时间、空座和目的的、票价以及限座七个数据项: 航班号 起飞时间 达到时间 目的地 限座 空座 票价 hD h D1 D2 D3 每个结点包括数据域和指针域: 数据域 指针域 C语言描述如下: typedef struct flightnode{ char air_num[10]; /*航班号*/ char start_time[15]; /*起飞时间*/ char end_time[15]; /*到达时间*/ char end_place[30]; /*目的地*/ int total; /*限座*/ int left; /*空座*/ int price; /*票价*/ struct flightnode *next; /*指向个结点*/ }flightnode; 基本操作: int CreatFlight(flightnode **l); //生成航班信息链表 int InsertFlight(flightnode **p,char *air_num,char *start_time,char *end_place,int total,int left,int price); //插入航班信息的结点 flightnode *modefy_airline(flightnode *l,char *air_num); //修改航班信息的函数 int BookTicket(flightnode*a,char *air_num,passengernode *c,char *name,char *ID_num); //订票函数 int CancelTicket(passengernode *c,flightnode*l,char *name,char *ID_num); //退票函数 int SearchFlight(flightnode*head); //查询航班信息函数 2、乘客信息类型:为了便于插入、删除和修改,其采用单链表存储结构,每个数据元素包括姓名、证件号码、航班号和座位号四个数据项: 旅客姓名 证件号码 航班号 座位号 每个结点包括数据域和指针域: 数据域 指针域 C语言描述如下: typedef struct passengernode{ /*定义乘客资料结点*/ char name[20]; char ID_num[20]; char air_num[20]; int seat_num; struct passengernode *next; }passengernode; 基本操作: int Creat

文档评论(0)

weidameili + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档