⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ariport.cpp

📁 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中
💻 CPP
字号:
#include <iostream> 
#include<conio.h > 
using namespace std; 
#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; 
a=(airline*)malloc(sizeof(airline)); 
if(a==NULL) 
a->next=NULL; 
return a; 
} 

customer *start_cus() 
{ 
customer *c; 
c=(customer*)malloc(sizeof(customer)); 
if(c==NULL) 
c->next=NULL; 
return c; 
} 
airline *modefy_airline(airline *l,char *air_num) 
{ 
airline *p; 
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; 
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; 
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; 
customer *q=c->next; 
p=a->next; 
for(;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; 
} 
} 
} 

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) 
{ 
struct 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,54,76}; 
for(i=0;i<3;i++) 
insert_air(&p,air_num[i],plane_num[i],end_place[i],total[i],left[i]); 
return OK; 
} 
int creat_cus(customer **l) 
{ 
customer *p=*l; 
int i=0; 
char *name[3]={"zhsan","lisi","wangwu"}; 
char *air_num[3]={"007af","008af","009af"}; 
int seat_num[3]={2,5,7}; 
for(i=0;i<3;i++) 
insert_cus(&p,name[i],air_num[i],seat_num[i]); 
return OK; 

} 
void main() 
{ 
int t=1; 
customer *cus=start_cus(); 
airline *air=start_air(); 
char name[8],air_num[8],ch; 
creat_air(&air); 
creat_cus(&cus); 
while(t==1) 
{ 
printf("\n"); 
printf("*********************************\n"); 
printf("* Welcome to air firm! *\n"); 
printf("* book--------1 *\n"); 
printf("* cancel------2 *\n"); 
printf("* search------3 *\n"); 
printf("* exit--------4 *\n"); 
printf("*********************************\n"); 
ch=getch(); 
if(ch=='1') 
{ 
printf("Please input a airline number:"); 
scanf("%s",air_num); 
printf("Please input a name:"); 
scanf("%s",name); 
book(air,air_num,cus,name); 
} 
else 
if(ch=='2') 
{ 
printf("Please input the cancel name:"); 
scanf("%s",name); 
del_cus(cus,air,name); 
} 
else 
if(ch=='3') 
{ 
search_air(air); 
printf("\n"); 
search_cus(cus); 
} 
else 
if(ch=='4') 
{ 
t=0; 
} 
} 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -