航班信息管理系统

上传人:人*** 文档编号:509598553 上传时间:2023-08-09 格式:DOC 页数:50 大小:187KB
返回 下载 相关 举报
航班信息管理系统_第1页
第1页 / 共50页
航班信息管理系统_第2页
第2页 / 共50页
航班信息管理系统_第3页
第3页 / 共50页
航班信息管理系统_第4页
第4页 / 共50页
航班信息管理系统_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《航班信息管理系统》由会员分享,可在线阅读,更多相关《航班信息管理系统(50页珍藏版)》请在金锄头文库上搜索。

1、.课 程 设 计课程名称 C语言课程设计 题目名称 航班信息管理系统 学生学院 物理与光电工程学院 专业班级 电子科学与技术(4)班学 号学生XX指导教师2021 年 10 月 23 日. v.目 录一 设计目的- 2 -二 课程设计的内容- 2 -三 课程设计的要求与数据- 2 -四 课程设计应完成的工作- 3 -五 总体设计- 3 -六 详细设计- 3 -七 调试分析- 9 -7.1 源程序及注释- 9 -7.2 调试与测试- 30 -7.2.1 算法调试过程中出现的问题及解决方法:- 30 -7.2.2 主要程序运行结果- 32 -八 总结- 35 -九 参考文献- 36 -. v.一

2、设计目的进一步加深、稳固所学专业课程C语言程序设计的根本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进展其他相关设计的技能。二 课程设计的内容对航班信息包括航班号、最大载客数、起飞地点、起飞时间、降落地点、降落时间、单价和乘客信息包括航班号、XX、性别、出生年月、座位号进展管理,包括航班信息与乘客信息的输入、输出、查询、删除、统计、退出。假设现收集到了一个机场的所有的航班信息,要求用C语言编写一个简单的航班信息管理系统,可进展录入、查询、修改和浏览航班信息的功能;乘客提出航班号、起飞地点、起飞时间、降落地点、订票数等订票要求,根据

3、事先保存的航班数据决定乘客能否订票。只有全部满足了乘客的订票要求并且所订航班有足够的未订座位之后才能完成订票处理,并且修改该航班的未订座位数每个航班的未订座位数的初始值就是该航班的最大载客数,否那么,订票失败,并且给出不能订票的原因。三 课程设计的要求与数据1、对航班信息包括航班号、最大载客数、起飞地点、起飞时间、降落地点、降落时间、单价和乘客信息包括航班号、XX、性别、出生年月、座位号进展管理,包括航班信息与乘客信息的输入、输出、查询、删除、统计、退出;2、航班信息内容较多,要求设计的管理系统能够完成以下功能:(1)、航班信息录入功能:航班信息用文件保存,可以一次完成假设干条记录的输入;(2

4、)、航班信息浏览功能:完成全部航班记录的显示;(3)、查询功能:完成按航班号或按目的地查找航班记录,并显示;(4)、航班信息的修改:按航班号进展修改某个航班的信息;(5)、航班信息的删除:按航班号进展删除某个航班的信息;(6)、订票处理:按乘客的订票方式完成航班订票处理;(7)、应提供一个界面来调节各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!四 课程设计应完成的工作1、 编写算法;2、 算法测试,并有具体的测试结果和结果分析;3、 撰写课程设计报告,内容包括:(1) 封面扉页(2) 设计任务书(3) 目录(4) 总体设计方案包括流程图(5) 使用说明及运行实例包括界面(6) 成员设

5、计内容简介(7) 工程源代码注意注释的使用(8) 指导教师评语五 总体设计1、 功能1:航班信息的输入并对输入的内容进展错误检查;2、 功能2:航班信息的显示浏览;3、 功能3:航班信息的修改并对修改的内容进展错误检查;4、 功能4:航班信息的删除;5、 功能5:航班信息的查询;6、 功能6:乘客信息输入并对输入的内容进展错误检查;7、 功能7:订票处理检查是否还有空座位;8、 退出系统。六 详细设计系统的整体框图如图1所示:开场输出菜单翻开文件根据菜单输入n的值选择程序退出保存删除修改查询显示输出输入完毕图1 整体框图1、 翻开存放着航班信息与乘客信息的文件:分别翻开航班文件与乘客文件,存放

6、在链表中,供后续函数调用;可用函数void read_psg_data(void)、void read_pla_data(void)来实现此操作。这是两个无参函数,用来读取存储在文件中的信息当到达文件尾时关闭文件并退出函数,带回指向链表头的一个指针和指向链表尾的指针。算法:fopen()函数翻开文件后读取一定长度的信息存到malloc()分配的内存地址空间,声明两个全局指针pla_head和psg_head,每读取一组数据就将其地址存放在pla1节点中,并到之前列表的尾端。N-S流程图如图2所示(以读取航班信息为例):fp=fopen(文件)while(不到文件尾) malloc()分配内存p

7、la1是否成功否是分配内存失败返回菜单 fread()读取一定长度字节数据到pla1pla1置为NULL是否pla_head是否为空 pla_end-next = pla1; pla_head = pla1; pla_end = pla1; pla_end = pla1;pla_end_next置为NULL读取成功标志位置为0关闭文件图2 翻开文件读取数据流程图2、 输入航班数据与乘客数据以航班数据为例:输入信息包括航班号、最大载客数、起飞地点等相关信息;用函数void add_pla_info(void),函数再调用int check_pla_num(PLA *pla)、void check

8、_time(int *hour, int *min)、void check_string(char name20)分别进展航班号、输入的时间、输入的地点等信息的正确性验证,从源头防止出错。算法:翻开待保存输入信息的文件,在一个while循环里面分配内存并输入数据,对输入的数据进展正确性验证,如果出错那么会提示重新输入,正确输入完一个航班后将数据保存到链表尾端并将新的航班数据写入翻开的文件中。N-S流程图如图3所示(以读取航班信息为例):fp=fopen(文件)while(继续输入)是 提示出错后返回否malloc()分配内存pla是否成功输入航班号 重新输入否是航班记录已存在.输入载客数是 重

9、新输入否是否数字且在正常X围 输入起飞时间否是 重新输入 时间格式正确. 输入降落地点 重新输入是否 地点格式正确.输入降落时间 重新输入是否时间格式正确.输入单价是 重新输入否是否数字.是否pla_head为空. pla_end-next = pla; pla_head = pla; pla_end = pla;pla_end = pla;保存新航班数据到文件图3 输入航班数据流程图3、 显示浏览航班信息:显示信息包括航班号、最大载客数、起飞地点、起飞时间、降落地点、降落时间、单价、剩余票数,调用了时间函数localtime()获取当前系统时间;用函数void display_pla_inf

10、o(void)完成此操作。算法:把读取文件后产生的链表按照一定的格式输出到屏幕上。N-S流程图如图4所示:将链表头赋给航班构造体局部变量while(未到链表尾)printf(pla1);pla1 = pla1-next;图4 显示航班信息流程图4、 删除航班信息:删除一个航班的所有信息,调用函数void delete_pla_data(void)完成是删除操作。算法:显示所有航班信息,要求用户输入需删除的航班号,在while循环中遍历链表,找到数据那么显示出来,再次要求用户确认删除,假设删除,该数据的下一条数据地址将会取代当前的数据地址,即从链表中删除了,调用save_pla_info()保存

11、新的链表;假设没有找到航班那么要求用户重新输入。N-S流程图如图5所示:输入航班号否是 到达链表尾.是否提示找不到航班,重新输入 输入的航班号与pla1_num一样.是否pla2 = pla1;输出该航班信息否是pla1 = pla1-next;确认删除.返回菜单删除的航班是链表头.pla_head = pla1-next; pla2-next = pla1-next;释放pla1;保存文件标志位置位;调用save_pla_info()保存新的链表;提示删除成功;返回菜单图5 删除航班信息流程图5、 修改航班信息:修改一个航班的信息,调用void modify_data(void)实现此操作。

12、算法:显示所有航班信息,用户输入一个航班号,在while循环中遍历链表,找到要修改的数据那么显示出来,再次要求用户确认修改,假设修改,那么开场输入信息;假设没有找到航班那么返回菜单。这里用到了添加航班时的信息检查函数。N-S流程图如图6所示:输入航班号是否while(未到链表尾)输入的航班号与pla1_num一样.是否pla2 = pla1; 输出该航班信息pla1 = pla1-next;确认修改.返回菜单输入新的航班号、载客数、起飞时间、降落地点、降落时间、单价,并检查每一项的格式是否符合要求提示修改成功返回菜单提示未找到该航班并返回菜单图6 修改航班信息流程图6、 查询航班信息:查询信息

13、时分为航班号查询与目的地查询,用户可输入航班号或目的地进展查询并订票,调用void search(void)函数,内部再调用void search_pla_num(void)和void search_destination(void)两个函数实现此操作。算法:进入查询后显示另一个菜单要求用户选择相应的查询条件。按航班号查询时,用户输入一个航班号,在while循环中遍历链表,找到要修改的数据那么显示出来,询问用户是否要订票,假设订票那么会进入订票函数buy_check();假设不订票那么返回菜单;假设没有找到相应的航班信息那么返回上一层菜单。N-S流程图如图7所示:按目的地显示菜单项选择择程序按航班号 选择相应的操作输入航班号输入目的地否是否while(不到链表尾)while(不到链表尾)航班号一样. 目的地一样.是pla2 = pla1;显示航班信息pla2 = pla1;显示航班信息否pla1 = pla1-next; 询问是否订票pla1 = pla1-next;进入search_pla_num()返回执行订票流程询问是否订票 未找到相应的航班信息未找到相应的航班信息图7 查询航班信息流程图7、 订票处理:进入订票时,会调用search_pla_num()函数完成操作。算法:调用display_pla_info()输出所有航班信息,然后调用

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

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号