题目:编制一个航空客运订票系统,实现简单的机票操作
班级:计0702 姓名:学号: 完成日期:2008年12月20日
一、 实验内容:
1、问题描述:
航空客运订票的业务包括:查询航班、客票预订和办理退票等。试设计一个航空客运订票系统,已使上述业务可以借助计算机完成。
2、基本要求:
1)每条航线所涉及的信息有:终点站名、航班号、飞机号、星期几飞行飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级)以及等候补替补的客户名单(包括姓名、所需票量);
2)作为示意系统,全部数据可以只放在内存中;
3)系统能实现的操作和功能如下:
? 查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。
? 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新寻味客户要求,若需要,可登记排队候补;
? 承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。
? (选作)为客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。
二、 概要设计:
1、 流程设计框图
2、 程序框架
1) 基本操作
Status InitList_Sq(SqFlight &LF); 构造一个空的线性表LF
Status InitList_CL(ClientLink &CL);为客户链表建一个空链表
Status InitList_WCQ(WClientQueue &WCQ) 为待票客户建一个空的队列
Status InitFlightNode(SqFlight &LF) 对航线结点赋值并接到航班顺序表
Status wbook(SqFlight LF,flightnode *p) 队列建立:等待客户列表建立
flightnode *search(int number,SqFlight LF)//线性表 按number查询
ClientNode *searchID(flightnode *p,char *ID)//链表 按ID查找客户
2) 函数构成
Viod main()
{ menu();
case1: lookup(airline,LF);//查询
case2: book(number,LF);//订票
case3: back_ticket(number,LF);//退票
case4: GetElem(LF,number);//查询订票情况
case5:清屏指令
case6:结束指令
}
Status lookup(char *airline,SqFlight LF){}
Status book(int number,SqFlight LF)
{ case 4:
find_oth(p->airline,LF,p->number);
}
Status find_oth(char *airline,SqFlight LF,int plannumber)//寻找相同航线其他有余票的飞机
Status back_ticket(int number,SqFlight LF)
{ask_clien(p,LF);}
Status ask_clien(flightnode *p,SqFlight LF)//询问排队客户
Status GetElem(SqFlight LF,int number)
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试