毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C++航空客运订票系统 第2页

更新时间:2008-6-22:  来源:毕业论文

C++航空客运订票系统 第2页

一、绪论

    该航空客运订票系统主要是通过链表算法设计来实现其各项功能,其业务活动包括:查询航线、客票预定和办理退票等业务,这些业务分别是通过链表的查找、插入和删除等操作来实现的。

 

二、需求分析

编制一个航空客运订票系统,要求有查询航线,客票订制,办理退票等业务;

1,每条航线设计的信息有:终点站名,航班号,飞机号,飞行周日(星期几),乘员定额,余票量,已订票的客户名单(包括姓名、订票量、舱位等级)以及等待替补的客户名单(包括姓名,所需票量);

2,作为示意系统,全部的数据可只放在内存中;

3,系统能实现的操作和功能如下:

<1>查询航线:根据旅客提出的终点站名输出下列信息:航班号,飞机号,星期几飞行;

<2>承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班信息,若尚有余票,则为顾客办理订票业务,输出座位号;若余票不够,则询问顾客是否愿意进入等待名单,若愿意,登记排队候补;

   <3>承办退票业务:根据客户提供的情况(航班)为其办理退票业务,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。

 

三、概要设计

从题目的基本要求可以看出,航线信息的储存、客户信息的储存、航线的查询、客票的预定、退票的办理业务等的操作,都类似于线性链表的建立、查找、插入、删除等的操作,所以我用了线性链表的算法设计来实现该系统的各项操作。

根据题目要求和实际情况可以将该程序的各项功能要求概括如下:

1、首先,定义三个线性链表,分别用来储存航线信息、已订票乘客的信息、因预定票额不够而成为替补乘客的信息。

2、其次,实现订票功能,若余票不够,则征求客户的同意后将其全部加入等待,即成为替补乘客,而不只是满足其中一部分的要求。

3、退票的操作原则和订票一样,只查看队头的人,若可以满足其全部要求则满足之,即全部退还机票,不只是退还其中的一个或几个。

 

4、为了便于查找信息,还赋予该系统一个显示功能,显示航线信息和乘客信息,其中,乘客信息又包括已订票的乘客信息和替补的乘客信息。

为实现上述功能,需要链表这个数据结构,其抽象数据类型设计如下:
ADT List{
 
数据对象:D={ai| ai ElemType,i=1,2,…,n,n≥0}
 
数据关系:
R1={<ai-1, ai >  ai-1, ai D ai-1<ai   i=1,2,…,n,n≥0}
 
基本操作:

   InitiList(&L)
 
操作结果:构造一个空的链表。
 DestroyList(&L)
 
初始条件:链表存在:
 
操作结果:销毁本链表。
 ListInsert(&L,e)
 
初始条件:循环表存在:
 
操作结果:在表尾处插入一个值为e的元素。
 Listlength(L)
 
初始条件:链表存在:
 
操作结果:返回L的长度。
 ListEmpty(L)
 
初始条件:链表存在:
 
操作结果:若本表为空,则返回true,否则返回false
 ListDelete(&L,*a,&e)
 
初始条件:链表存在:
 
操作结果:将La指针指向的元素删除,并用e返回其值.
}ADT List

5、系统中子程序及功能要求:

ModelMenu(char *s[],int Item) //菜单模板函数,为各个菜单制作模板

MainMenu()//主菜单函数,显示主菜单

Continue()//是否继续函数,征求客户意见是否要继续程序

ExitSystem()//系统退出函数,征求客户意见是否要退出程序

prefix(char *Item) //操作提示函数,提示用户操作信息

Find_Line(PFlight L,char *key) //航线查找函数,根据用户需求,查找指定的航线信息

Line_Add()//航线添加函数,由用户向系统中添加航线信息

Empty_Flight()//航线是否为空函数,检查航线是否为空

Line_See()//航线查看函数,查看当前系统中的航线信息

Display_Reserve()//订票乘客信息

Display_Replace()//候补乘客信息

Sub1Menu()//航线信息管理函数,增设、查看航线信息

Sub2Menu()//订票办理函数

Sub3Menu()//退票办理函数

Sub4Menu()//乘客管理子菜单函数

 

6、函数的调用关系图:若图片无法显示请联系QQ752018766,本论文免费,转发请注明源于www.751com.cn

               ­_______________________   ______

______        _______________

                                          

Line_Add Line_See Continue prefix Empty_Flight

Find_Line

Display_Reserve Display_Replace

 

四 详细设计

#include <iostream.h>

#include <stdlib.h>

#include <process.h>

#include <string.h>

#include <conio.h>

#include <stdio.h>

#include <iomanip.h>

#define MAX 50

typedef struct Replace           //替补乘客信息

{

  char Name[7];             //姓名

  int Amount;             //定票数

  char Rank;                 //舱位等级

  char Seat_No;             //座位号

  struct Replace *Next;

}Replace,*PReplace;  

typedef struct Flight           //航线信息

{

  char Des_Name[10];           //终点站名

  char Flight_No[6];           //航班号

  char Plane_No[6];           //飞机号

  char Week_Day;             //飞行周日

  int Customer_Amount;         //乘员定额

  int Free_Amount;           //剩余票数

  float Price[3];           //舱位等级的价格

  Replace *ReplName;           //该航班的候补乘客名单

  Customer *CustName;           //该航班的已定票乘客名单

  struct Flight *Next;         //指示下一航线结点

}Flight,*PFlight;

int Customer_Count=0;           //所有航线的定票乘客总数

Flight *Head;                 //航线头指针

Flight *p2;                 //航线结点指针

Customer *Custp1[MAX];           //各条航线乘客结点指针

Replace *Replp1[MAX];           //各条航线候补结点指针

int IsEmpty=1;                 //是否有定票乘客

int IsReplace=1;             //是否有候补乘客

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

C++航空客运订票系统 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。