}
if(p1->Free_Amount>=1)
printf(\还有多余的票!\\n\ else printf(\票已售完!\\n\ c1=c1->Next; } } p1=p1->Next;
printf(\ }
printf(\按任意键返回!\getch(); return;
//11.候补乘客信息 void Display_Replace() { Flight *p1; Customer *c1; system(\ p1=Head; if (Empty_Flight()) return;
printf(\候补乘客信息!\if(IsReplace) { printf(\对不起,没有候补乘客!\ getch(); return; }
printf(\printf(\姓名 证件号 订票数 航班号\\n\while(p1!=NULL) { if(p1->ReplName!=NULL) { c1=p1->ReplName; while(c1!=NULL) {
printf(\ if(p1->Free_Amount>=1)
}
printf(\还有多余的票!\\n\ else printf(\票已售完!\\n\ c1=c1->Next; } } p1=p1->Next; }
printf(\printf(\按任意键返回!\getch(); return;
//12.退票办理函数
void RefundticketMenu() { int Flight_No=0,flag=0; Flight *p1; Customer *c2,*c4; Customer *c3,*c5; char answer[7],name[7]; int tag=0; int IDinfor; if(Empty_Flight()) return; printf(\现在开始进行退票手续\ if(IsEmpty) { printf(\对不起,乘客不存在!\ getch(); return; } while(1) { flag=0;tag=0;Flight_No=0; printf(\请输入航班:\ scanf(\ if(Find_Line2(Head,answer,&p1,&Flight_No)) { c2=p1->CustName; printf(\请输入您的姓名:\ scanf(\ if(c2==NULL)
}
{
printf(\对不起,客户不存在!\ if(Continue()=='n') return; } else while(c2!=NULL) { if(strcmp(c2->Name,name)==0) { if(c2==p1->CustName) { prior=p1->CustName; IDinfor=c2->IDinfor; flag=1; break; } } else if(c2->Next!=NULL) { if(strcmp(c2->Next->Name,name)==0) { tag=1; prior=c2; IDinfor=c2->Next->IDinfor; flag=1; break; } } c2=c2->Next; shouldsave=1; } if(!flag) printf(\对不起,乘客不存在!\\n\
else printf(\对不起,航班不存在!\\n\if(flag) { if(prior==p1->CustName && !tag) { if(prior->Next==NULL) { p1->Free_Amount+=prior->Amount; p1->CustName=NULL;
} else { p1->Free_Amount+=prior->Next->Amount; p1->CustName=prior->Next; } } else { p1->Free_Amount+=prior->Next->Amount; prior->Next=prior->Next->Next; } Customer_Count--; if(Customer_Count==0) IsEmpty=1; shouldsave=1; }
if(flag) { c3=p1->ReplName; while(c3!=NULL) { if(c3->Amount<=p1->Free_Amount) {
printf(\候补乘客已存在!\\n\
c4=(Customer*)malloc(sizeof(Customer)); Custp1[Flight_No]->Next=c4; c4->Next=NULL; IsEmpty=0;
if(p1->CustName==NULL) strcpy(c4->Name,c3->Name); c4->Amount=c3->Amount; c4->IDinfor=IDinfor;
p1->Free_Amount-=c3->Amount; Customer_Count++; if(c3->Next==NULL) IsReplace=1; if(p1->ReplName==c3) { if(p1->ReplName->Next==NULL) p1->ReplName=NULL; else p1->ReplName=c3->Next; }
}
}
}
else c5->Next=c3->Next->Next; break; }
if(c3->Next!=NULL) if(c3->Next->Amount<=p1->Free_Amount) c5=c3; c3=c3->Next; shouldsave=1;
printf(\退票成功!\
getch(); return; }
shouldsave=1; if(Continue()=='n') return;
//13.乘客管理子菜单函数
void CustomermagMenu() { char c; system(\ while(1) { }
}
printf(\乘客菜单:\\n\
printf(\printf(\ 1.乘客信息 \\n\printf(\ 2.候补乘客信息 \\n\printf(\ 3.返回主菜单 \\n\
printf(\printf(\请选择您需要的服务:\scanf(\switch(c) {
case '1':Display_Reserve();break; case '2':Display_Reserve();break; case '3':Display_Reserve();break; default:ErrorMess(); }
//主函数 int main() { char c; system(\ system(\ do{ system(\ }
printf(\ 航空客运订票系统主菜单\\n\
printf(\
printf(\ 1.航班管理菜单\\n\ printf(\ 2.订票办理菜单\\n\ printf(\ 3.退票办理菜单\\n\ printf(\ 4.乘客管理菜单\\n\ printf(\ 5.退出系统\\n\ printf(\谢谢使用航空客运订票系统********************\\n\ printf(\请选择您想要的服务:\ scanf(\ switch(c) { case'1':LinemanageMenu();break; case'2':bookingMenu();break; case'3':RefundticketMenu();break; case'4':CustomermagMenu();break; case'5':exit(0); default:break; }
}while(c!='5');