毕业论文于基c语言的飞机订票系统.docVIP

  • 4
  • 0
  • 约1.32万字
  • 约 22页
  • 2017-03-31 发布于辽宁
  • 举报
毕业论文于基c语言的飞机订票系统

基于C语言的飞机订票系统 一、需求分析 1、本程序中,输入为字符串小写大写字符和整形; 2、以字符串输出; 3、本订票系统要能够实现航班情况的录入功能、航班的查询功能、订票功能、退票功能以及管理本系统的功能,具体为: (1)录入功能 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) (2)查询功能 可以查询某个航线的情况(如,航班号,查询起降时间,起飞抵达城市,航班票价,确定航班是否满仓); (3)订票功能 可以订票,如果该航班不存在,则订票失败; (4)退票功能 可以退票并且记录乘客的相关信息以及退票信息;如客户资料:有姓名,证件号,订票航班情况,订单要有编号。 4、测试数据:订票正确输入航班号‘f2009’订票人姓名‘yangyating’ID‘0841919204’管理员正确密码“5566”错误密码“1234” 二、概要设计 1、程序包含以下模块: 每个模块的算法设计说明如下: (1)录入模块: 查找单链表的链尾,在链尾插入一个“航班信息”的新结点。 (2)查询模块: 提供两种查方式:按航号和按航线查询,1代表按航号查询,2代表按航线查询。0则表示退出查询。 顺着单链表查找,如果与航班号(航线)一致,输出相关信息,否则,查询不成功。 (3)订票模块: 查找乘客要订的航班号,判断此航班是否有空位,有则输入乘客有关信息,订票成功,否则失败。 (4)退票模块: 输入要退票的乘客姓名以及证件号码,查找乘客资料的链表中是否有这位乘客,有则删去此结点,并在空位加上1,无则退票失败。 (5)修改模块: 输入密码,确认是否有权限对航班信息进行修改,有则在航班信息链表中查找要修改的结点,进行修改,否则不能修改。 流程图 主函数流程图 三、详细设计 1、航班的信息类型:为了便于查找和修改,航班的情况存储结构采用单链表,每个元素表示一个航班的情况,包括航班号、起飞达到的时间、空座和目的的、票价以及限座七个数据项: 航班号 起飞时间 达到时间 目的地 限座 空座 票价 单链表如下: 每个结点包括数据域和指针域: 数据域 指针域 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 CreatPassenger(passengernode **l); //生成乘客资料链表 int Insert

文档评论(0)

1亿VIP精品文档

相关文档