• 大小: 15KB
    文件类型: .cpp
    金币: 2
    下载: 0 次
    发布日期: 2024-01-27
  • 语言: C/C++
  • 标签:

资源简介

1. 查询航线:根据旅客提出的终点名 输出下列信息:终点站名,航班号,飞机号,星期几,6. 乘员定额,余票量,已订票的客户名9.单(包括姓名,订票量,航船舱等级1 2或3)以及等候替补的客户名单姓名,需求量; 2.由于公司的发展添加航线,增加对某个地区的航班,和取消对某地的航班。 3.承办订票义务:根据客户提出的要求(航班号,订票数额)查询该航班票额情况,若尚有余票,则客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需要重新询问客户要求。若需要,可登记排队后补; 4.承办退票业务:根据客户提供的情况为客户办理退票手续,然后查询该航班是否有人排队后补,30.首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问排在他后面的候补客户。

资源截图

代码片段和文件信息

#include 
#include
#include 
#include 
#include 
#define TRUE   1
#define FALSE  0
#define OK     1
#define ERROR  0
#define INFEASIBLE  -1
#define OVERFLOW    -2
#define MAXSIZE 2
#define MAXCHAR 20
typedef struct PassengerNode    
{
  char  name[MAXCHAR];   
  char  ID[MAXCHAR];     
  char  phoneno[20];     
  int   booknum;        
  int   grade;           
  PassengerNode *next;
}PassengerNode;    //已订票客户结点
typedef struct
 {
   PassengerNode *passenger;
   int      length;  //单链表的长度
}passengerlink;    //已订票客户单链表(按ID有序)
typedef struct WPassengerNode
{
  char  name[20];    //待订票客户的姓名
  char  ID[20];      //待订票客户的身份证号
  char  phoneno[20]; //待订票客户电话号码
  int    neednum;    //待订票客户机票需求量
  WPassengerNode *next;
}WPassengerNode;   //待订票客户结点
typedef struct     
{   
    WPassengerNode *front;
    WPassengerNode *rear;
}WpassengerQueue;   //侍订票客户链队列
typedef struct flightnode 

  char  cityname[20];    //终点站名称
  int    number;      //航班编号
  char  flight_no[20];   //飞机编号
  int    weekday;     //星期几
  int    total;       //飞机能载最大人数
  int    remain;      //还余下多少张票

  flightnode    *next;
  WpassengerQueue  npassenger;  //侍订票客户链队列
  passengerlink    passenger;   //已订票客户单链表  
}flightnode;//航班结点
typedef struct
{
   flightnode *flight;
   int  length;
}SqFlight;//航班顺序线性表
int InitList_Sq(SqFlight &LF)    //构造一个空的线性表LF
{
    LF.flight=(flightnode*)malloc(sizeof(flightnode));
    if(!LF.flight)exit(ERROR);
    LF.length=0;
    LF.flight->next=NULL;
    return(OK);
}//InitList_Sq

int InitList_pa(passengerlink &PA)  //为客户链表建一个空链表

    PA.passenger=(PassengerNode*)malloc(sizeof(PassengerNode));
    if(!PA.passenger)exit(ERROR);
    PA.length=0;
    PA.passenger->next=NULL;
    return(OK);
}//InitList_CL

int InitList_WPQ(WpassengerQueue &WPQ)//为待票客户建一个空的队列

    WPQ.front=WPQ.rear=(WPassengerNode*)malloc(sizeof(WPassengerNode));
    if(!WPQ.front)exit(ERROR);
    WPQ.front->next=NULL;
    return(OK);
}//InitList_WCQ

int InitFlightNode(SqFlight &LF) //对航线结点赋值并接到航班顺序表
{  
    flightnode *p;
    passengerlink PAL1;
    InitList_pa(PAL1);
    WpassengerQueue WPQ1;
    InitList_WPQ(WPQ1);
    p=(flightnode*)malloc(sizeof(flightnode));
if(!p){printf(“无法找到指向航线结点的指针\n“);exit(ERROR);}
    strcpy(p->cityname“连云港--北京“);    //头结点赋值
    p->passenger=PAL1;
strcpy(p->flight_no“LYG127“);
    p->npassenger=WPQ1;
    p->number=747;
    p->remain=200;
    p->total=200;
    p->weekday=1;
p->next=LF.flight->next;
    LF.flight->next=p;
    p=(flightnode*)malloc(sizeof(flightnode));
    if(!p){printf(“申请不到航线结点\n“);exit(ERROR);}    
    passengerlink PAL2;
    InitList_pa(PAL2);
    WpassengerQueue WPQ2;
    InitList_WPQ(WPQ2);
    strcpy(p->cityname“连云港--北京“);     //结点1赋值
    p->passenger=PAL2;
strcpy(p->flight_no“LYG225“);
    p->npassenger=WPQ2;
    p->number=380;
    p->remain=180;
    p->total=180;
    p-

评论

共有 条评论