航空客运订票系统 1 问题描述 航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 1.1 每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量) 1.2 作为示意系统,全部数据可以只放在内存中 1.3 系统能实现的操作和功能如下: 1.3.1 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额 1.3.2 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补 1.3.3 承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户 2 概要设计 2.1 存储结构设计 typedef struct Al_Custom //已订票客户 { char name[15];//姓名 int count;//订票量 int level;//舱位等级 Al_Custom *next;//下一节点指针 }Al_Custom,*Al_CustomLink;
typedef struct Wait_Custom//等候替补的客户 { char name[15];//姓名 int count;//所需票量 Wait_Custom *next;//下一节点指针 }Wait_Custom;
typedef struct Wait_Queue//等待队列 { Wait_Custom *front;//队列头指针 Wait_Custom *rear;//尾指针 }Wait_Queue;
typedef struct Flight//航线 { char terminus[15];//终点站名 char flight_no[10];//航班号 char plane_no[10];//飞机号 int week;//飞行周日 int count;//乘客定额 int rest;//余票量 Al_CustomLink Al_link;//指向成员名单链表的头指针 Wait_Queue wait_queue;//等待替补队列 }Flight; 2.2 主要算法设计 2.2.1 主程序模块: void main() { 初始化; do{ 接受命令; 处理命令; }while(命令!="退出"); } 2.2.2 查询航线模块——实现查询功能 void findFlight() { 提示输入要查询航线的终点站名; 如果存在该航线,则输出该航线信息; 否则提示不存在该航线; } 2.2.3 承办订票业务模块——实现订票功能 void dingpiao() { 提示输入航班号和订票数; 若不存在该航班号,则提示不存在该航线; 否则{ 如果有余票,则办理业务; 否则提示没有足够的余票,询问是否候补; 若是,则排队候补; } } 2.2.4 承办退票业务模块——实现退票功能 void tuipiao() { 提示输入航班号和飞行周日; 确认航班号和飞行周日都存在,并且客户有订票, 则 {执行退票; 为排队候补的客户办理订票业务; } 否则{ 提示有误 } } 2.3 测试用例设计 2.3.1 航线3条:1001 hp001 shanghai 2 50 1002 hp002 beijing 5 50 1003 hp003 guangzhou 7 50 2.3.2 查询航线:shanghai 2.3.3 承办订票业务:航班号1001 数额30 姓名chengangjie 舱位等级2 2.3.4 承办订票业务:航班号1001 数额23 姓名zhenxi 舱位等级3 2.3.5 承办退票业务:姓名chen
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5