• 大小: 559KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-24
  • 语言: 其他
  • 标签:

资源简介

航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 [基本要求] (1) 每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量);

资源截图

代码片段和文件信息

#include 
#include
#include
#define LEN 3 //用于标识航班数 
#define OK 1
#define ERROR 0 
#define TRUE 1
#define FALSE 0 
int firstEnter = 1;//标识是否第一次进入系统,用于控制菜单栏出现与否 
typedef int Status;
/*--------------------已订票的乘客信息------------------*/ 
typedef struct AlreadyBuyClient{
char clientName[10];//乘客姓名
char PhoneNum[12];//乘客手机号
int bookedTicketNum;//订票量
char Rank;//舱位等级
struct AlreadyBuyClient *Next;//指向下一个乘客  
}AlreadyBuyClient; 
/*--------------------等候的乘客信息------------------*/ 
typedef struct WaitClient {//链队列 
char clientName[10];//乘客姓名
int wantedTicketNum;// 需要票量 
struct WaitClient *next; //指向下一个乘客 
}WaitClient*WaitClientinfo; 
typedef struct {
WaitClientinfo front;//排队的对头 
WaitClientinfo rear;// 排队的队尾 
}ClientQueue; //排队等票的队列 
/*--------------------航班信息------------------*/ 
struct Flight{
char stopName[10];//终点站 
char flightNum[5]; //航班号 
char flyNum[5]; //飞机号 
char flyTime[4];//飞行时间(周日)
char RecentTime[11];//最近一次飞行时间
int max;//乘员定额
int leftTicket;//剩余票量
int Price[3]; //舱位等级的价格
AlreadyBuyClient *Client;//已订票名单 
ClientQueue waitclient;//等候名单
};
typedef struct { //顺序表 
Flight* flight;//航班 
int length;//航班数 
}Line; 

void Flight_Watch(Line flyLine) {//航班信息 
printf(“\n\n\t\t航班信息:“);
  printf(“\n________________________________________________________________________________\n“); 
  printf(“终点站   航班号 飞机号 飞行日  成员定额  剩余票量 一等舱价  二等舱价 三等舱价\n“);
 
  for(int j = 0;j  printf(“%-10s%-5s  %-5s  %-4s   %5d    %5d      %5d     %5d    %5d\n“ 
flyLine.flight[j].stopNameflyLine.flight[j].flightNumflyLine.flight[j].flyNumflyLine.flight[j].flyTime
flyLine.flight[j].maxflyLine.flight[j].leftTicketflyLine.flight[j].Price[0]flyLine.flight[j].Price[1]flyLine.flight[j].Price[2]);
}//输出航班相关信息 
}
void Flight_Search(Line flyLine) {//查询特定地点航班信息 
char station[10];//终点站 
Status hasResults = FALSE;   //用于标识是否查询到对应的数据 
printf(“\n请输入需要查询的终点站名:“);
getchar();//读取了前面输入的回车键 
scanf(“%s“station);

  for(int i = 0;i  if(strcmp(stationflyLine.flight[i].stopName)==0) {//输入的终点站存在 
  if(hasResults == FALSE) { 
  hasResults = TRUE;  //表示查询到数据
printf(“终点站   航班号 飞机号 飞行日  最近航班日期  剩余票量\n“);    
}
printf(“%-10s%-5s  %-5s  %-4s    %-10s    %5d\n“
flyLine.flight[i].stopNameflyLine.flight[i].flightNumflyLine.flight[i].flyNumflyLine.flight[i].flyTimeflyLine.flight[i].RecentTimeflyLine.flight[i].leftTicket); 
}
}

if(hasResults == FALSE) { 
printf(“\n不存在该航班!!!\n“);

}
Status FindLine(Line flyLinechar *keyint &n) { //根据终点站寻找航班,n为航班序号 
for(int i = 0;i if(strcmp(keyflyLine.flight[i].flightNum)==0) {//找到该航班 
n = i;
return OK;
}
}
n = -1;
return ERROR;
}

void FlightManage(Line flyLine) {//航班信息管理界面 
char select; //选择功能序号 
system(“CLS“);
printf(“\n\n\t航班管理菜单:“);
  printf(“\n_________________________________________________________

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-09-07 17:58  航空客运订票系统\
     文件       12655  2016-01-12 16:57  航空客运订票系统\FlightManager.cpp
     文件      171767  2016-01-12 16:58  航空客运订票系统\FlightManager.exe
     文件      556960  2016-09-07 17:58  航空客运订票系统\实验报告.doc
     文件       16791  2016-01-12 16:54  航空客运订票系统\测试用例.docx

评论

共有 条评论