数据结构课程设计《飞机订票系统》 联系客服

发布时间 : 星期一 文章数据结构课程设计《飞机订票系统》更新完毕开始阅读666e96e174a20029bd64783e0912a21615797f73

五、源代码

#include #include #include #include #include

#define MAXSIZE 5 /*定义航线数量,可修改*/

typedef struct wat_ros /*单链队列存储等候替补的客户信息*/ { char name[10]; /*姓名*/ int req_amt; /*订票量*/

struct wat_ros *next;

}qnode,*qptr;

typedef struct pqueue /*等候替补的客户名单*/ { qptr front; /*等候替补客户名单域的队头指针*/ qptr rear; /*等候替补客户名单域的队尾指针*/

}linkqueue;

typedef struct ord_ros /*乘员名单*/ { char name[10]; /*客户姓名*/ int ord_amt; /*订票量*/ int grade;

/*舱位等级*/

struct ord_ros *next;

}linklist;

struct airline { char ter_name[10]; /*抵达城市*/ char air_num[10]; /*航班号*/ char time[10]; /*飞机时间*/

char pri[7]; /*票价*/

第 11 页

int tkt_amt; /*乘员定额*/ int tkt_sur; /*余票量*/

linklist *order; /*乘员名单域,指向乘员名单链表的头指针*/

linkqueue wait; /*等候替补的客户名单域,分别指向排队等候名单队头队尾的

指针*/ }lineinfo; struct airline *start;

void display(struct airline *info) /*打印每条航线的基本信息*/ { }

void list() /*打印全部航线信息*/ { }

void search() /*根据客户提出的终点站名输出航线信息*/ {

printf(\

nfo->pri,info->tkt_amt,info->tkt_sur);

struct airline *info; int i=0; info=start;

printf(\终点站名\\t航班号\\t飞行时间\\t票价\\t乘员定额\\t余票量\\n\while(i

printf(\

display(info); /*调用display函数来输出*/ info++; i++;

struct airline *info,*find();

char name[10]; /*要抵达的城市名称*/ int i=0; info=start;

第 12 页

printf(\请输入要抵达城市的名称:\scanf(\while(iter_name)) /*有该站名strcmp则返回,if(!0)即break*/ { break;

} info++; i++;

}

if(i>=MAXSIZE) /*没有匹配的航线*/ { printf(\对不起,没有这条航线!\\n\

} else { printf(\终点站名\\t航班号\\t飞行时间\\t票价\\t乘员定额\\t余票量\\n\ display(info); /*调用display函数输出航线信息*/ }

}

struct airline *find() / *根据系统提出的航班号查询并以指针形式返回*/ { struct airline *info;

char number[10]; /*查询的航班号*/ int i=0; info=start;

printf(\请输入航班号:\ scanf(\ while(iair_num)) /*有匹配航班*/ { return info;

}

第 13 页

}

info++; i++;

} /*无匹配航班*/ printf(\对不起,没有这条航线!\\n\return NULL;

void prtlink() /*打印订票乘员名单域的客户名单信息*/ { }

linklist *insertlink(linklist *head,int amount,char name[],int grade) /*增加订票乘员名单域的客户信息*/ {

linklist *p; struct airline *info; info=find(); p=info->order;

if(p!=NULL) /*按顺序输出客户信息链表*/ {

printf(\客户姓名 订票数额 舱位等级\\n\while(p) { }

printf(\p=p->next;

}

else /*没有人订这个航班*/

printf(\该航线没有客户信息!\\n\

linklist *p1,*new1; p1=head;

new1=(linklist*)malloc(sizeof(linklist));

if(!new1) /*存储空间不足*/ { }

第 14 页

printf(\return NULL;