一、概要设计
构建一个结构体,用于存放单个航班信息表,其中存储航班号、起点站、终点站、起飞时间、到达时间、飞机型号和票价;再在外部嵌套一个结构体,内含一个数组,用于存放总航班信息表。
初始化函数利用循环体,将航班信息存入每个单个航班信息表中。若输入与规定类型不符,则报错,并返回后重新输入。
展示函数利用循环体,将已存入的所有航班信息输出。
六个顺序查找函数分别用于按起点站、终点站、起飞时间、到达时间、飞机型号、票价查找航班,并将查找到的航班进行输出。
排序函数将航班信息按航班号进行排序。
折半查找函数内含排序函数,先将航班信息按航班号进行排序,再利用折半查找找到用户输入的航班号,最后输出航班号对应航班信息。
总查找函数按照输入的序号,来决定调用七个查找函数中的哪一个,并输入需要查找的对象。若未找到相应航班信息,则退出,并输出“无法找到该航班!”
主函数中先构建结构体,并调用初始化函数,随后进入循环函数,即进入主程序,由判断函数决定进入展示还是查询系统,并通过用户输入来决定进入的程序。
二、详细设计和编码
struct FlyNode为单个航班信息表,其中包含 string num,string depart_station,string arrive_station,string depart_time,string arrive_time,