C++飞机订票管理系统是一款利用C++编程语言开发的信息系统,旨在为用户提供便捷的航班查询、预订及管理服务。
```c
#include
#include
#include
#define OK 1
#define ERROR 0
typedef struct airline {
char air_num[8];
char plane_num[8];
char end_place[20];
int total;
int left;
struct airline *next;
}airline;
typedef struct customer {
char name[8];
char air_num[8];
int seat_num;
struct customer *next;
}customer;
airline* start_air() {
airline *a = (airline*)malloc(sizeof(airline));
if(a == NULL) a->next = NULL;
return a;
}
customer* start_cus() {
customer *c = (customer*)malloc(sizeof(customer));
if(c == NULL) c->next = NULL;
return c;
}
airline* modefy_airline(airline *l, char *air_num) {
airline *p = l->next;
for(; p != NULL; p=p->next) {
if(strcmp(air_num,p->air_num)==0) {
p->left++;
return l;
}
printf(NO the airline!);
return 0;
}
}
int insert_air(airline **p, char *air_num, char *plane_num, char *end_place, int total, int left){
airline *q = (airline*)malloc(sizeof(airline));
strcpy(q->air_num, air_num);
strcpy(q->plane_num, plane_num);
strcpy(q->end_place,end_place);
q->total=total;
q->left=left;
q->next=NULL;
(*p)->next=q;
(*p)=(*p)->next;
return OK;
}
int insert_cus(customer **p, char *name, char *air_num,int seat_num){
customer *q = (customer*)malloc(sizeof(customer));
strcpy(q->name,name);
strcpy(q->air_num, air_num);
q->seat_num=seat_num;
q->next=NULL;
(*p)->next=q;
(*p)=(*p)->next;
return OK;
}
int book(airline *a,char *air_num,customer *c,char *name){
airline *p=a, *q=c->next;
p = a->next;
while(q->next != NULL) q = q->next;
for(; p->next!=NULL;p=p->next)
{
if(p->left>0)
{
printf(Your seat number is %d,(p->total-p->left+1));
insert_cus(&q,name,air_num,p->total-p->left+1);
p->left--;
return OK;
}
else
{
printf(seat is full);
return 0;
}
}
return OK;
}
int del_cus(customer *c, airline *l,char *name){
customer *p,*pr;
char air_num[8];
pr=c;p=pr->next;
while(p!=NULL)
{
if(strcmp(p->name,name)==0)
{strcpy(air_num,p->air_num); l=modefy_airline(l,air_num);
pr->next=p->next; p=pr->next;
printf(finish!);
return OK;
}
pr = pr -> next;p = pr -> next;
}
printf(NO the customer!);
return ERROR;
}
int search_air(airline *head){
airline *p=head->next;
printf(air_num plane_num end_place total left\n);
for(; p != NULL; p=p->next) {
printf(%s %-10s %-8s %-8d%-8d\n,p->air_num,p->plane_num,p->end_place, p->total, p->left);
}
return OK;
}
int search_cus(customer *head){
customer *q=head->next;
printf(name air_num seat_num\n);
for(; q != NULL;q=q->next)
{
printf(%-8s%-12s%-d\n,q->name,q->air_num, q->seat_num);
}
return OK;
}
int creat_air(airline **l){
airline *p=*l; int i=0;
char *air_num[3]={007af,008af,009af};
char *plane_num[3]={plane1,plane2,plane3};
char *end_place[3]={Beijing,Shanghai,Tianjin};
int total[3]={100,100,100};int left[3]={52,