本人大一下哈,代码能力不是很强,希望各位大佬手下留情。有什么改进的可以在评论区讲讲。
飞机票查询与销售系统,小学期的大作业。昨天写了六七个小时,感觉还好。
?
放代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <windows.h> int flightnum=0; int maxflight=100;
struct Passenger { ? ? char name[20]; ? ? char ID[30];
}; struct Plane { ? ? int planeID;//飞机ID ? ? char flightcompany[10];//航空公司 ? ? char startplace[10];//起飞地 ? ? char arriveplace[10];//目的地 ? ? int seat;//座位数 ? ? int ticket;//剩余票数 ? ? int cost;//票价 ? ? char starttime[10];//起飞时间 ? ? struct Passenger person[1000];//储存乘客信息 }p[100];
int main() { ? ? void menu(),Passenger_menu(),Admin(),_filefunction(); ? ? menu(); ? ? int n; ? ? a:scanf("%d",&n); ? ? switch(n) ? ? { ? ? case 1: ? ? ? ? Passenger_menu(); ? ? ? ? break; ? ? case 2: ? ? ? ? Admin(); ? ? ? ? break; ? ? default : ? ? ? ? printf("输入错误,请重新输入\n"); ? ? ? ? goto a; ? ? } ? ? printf(" "); ? ? return 0; }
void menu() { ? ? printf("**********************\n"); ? ? printf("**********************\n"); ? ? printf("** 欢迎使用票务系统 ** ? ? ? ?\n"); ? ? printf("\n"); ? ? system("pause"); ? ? printf("*** ?您的身份是? ?***\n"); ? ? printf("*** ? ? 1.乘客 ? ? ***\n"); ? ? printf("*** ? ? 2.管理 ? ? ***\n"); }
void Passenger_menu() { ? void searchplane(int x),researvation(),cancel(); ? ? printf("***亲爱的乘客您好,欢迎使用票务系统!\n"); ? ? f:printf("***输入1以查询航班信息\n"); ? ? printf("***输入2以进行机票订购\n"); ? ? printf("***输入3以进行机票退订\n"); ? ? printf("***输入4以退出系统\n"); ? ? int n; ? ? scanf("%d",&n); ? ? switch(n) ? ? { ? ? ? ? ?case 1: ? ? ? ? ? ? searchplane(2); ? ? ? ? ? ? break; ? ? ? ? case 2: ? ? ? ? ? ? researvation(); ? ? ? ? ? ? break; ? ? ? ? case 3: ? ? ? ? ? ? cancel(); ? ? ? ? ? ? break; ? ? ? ? case 4: ? ? ? ? ? ? printf("感谢您使用本系统,祝您旅途愉快,一路平安\n"); ? ? ? ? ? ? break; ? ? ? ? default : ? ? ? ? ? ? printf("输入错误!!!\n请重新输入:"); ? ? ? ? ? ? goto f; ? ? }
}
void Admin() { ? int main(); ? ? void admin_menu(); ? ? char s[10],*sadmin="admin"; ? ? float num; ? ? printf("请输入管理员帐号:"); ? ? scanf("%s",s); ? ? while(strcmp(s,sadmin)!=0) ? ? { ? ? ? ? printf("!!!账号错误!!!\n请重新输入管理员账号:"); ? ? ? ? scanf("%s",s); ? ? } ? ? printf("请输入管理员密码:"); ? ? scanf("%f",&num); ? ? while(num!=123456) ? ? { ? ? ? ? printf("!!!密码错误!!!\n请重新输入密码:"); ? ? ? ? scanf("%f",&num); ? ? } ? ? admin_menu(); ? ? system("cls"); ? ? main(); } void admin_menu() { ? void _flight(int choosenum),searchplane(int x),_filefunction(); ? ? printf("***管理员您好,请问您需要什么服务?***\n"); ? ? printf("*** ? ? ? ?1.增加航班信息 ? ? ? ?***\n"); ? ? printf("*** ? ? ? ?2.删除航班信息 ? ? ? ?***\n"); ? ? printf("*** ? ? ? ?3.查询航班信息 ? ? ? ?***\n"); ? ? printf("*** ? ? ? ?4.读取信息文件 ? ? ? ?***\n"); ? ? printf("*** ? ? ? ?5.退出管理系统 ? ? ? ?***\n"); ? ? printf("***\t\t\t\t ***\n"); ? ? int n; ? ? b:scanf("%d",&n); ? ? switch(n) ? ? { ? ? case 1: ? ? ? ? system("cls"); ? ? ? ? _flight(n); ? ? ? ? break; ? ? case 2: ? ? ? ? if(flightnum==0) ? ? ? ? { ? ? ? ? ? ? printf("无任何航班信息,现为您选择增加航班信息服务"); ? ? ? ? ? ? system("pause"); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? _flight(1); ? ? ? ? } ? ? ? ? system("cls"); ? ? ? ? _flight(n); ? ? ? ? break; ? ? case 3: ? ? ? ? if(flightnum==0) ? ? ? ? { ? ? ? ? ? ? printf("无任何航班信息,现为您选择增加航班信息服务"); ? ? ? ? ? ? system("pause"); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? _flight(1); ? ? ? ? } ? ? ? ? printf("正在载入航班信息,请稍后"); ? ? ? ? for(int i=0;i<3;i++) ? ? ? ? { ? ? ? ? ? ? printf("."); ? ? ? ? ? ? Sleep(500); ? ? ? ? ? ? system("pause"); ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? searchplane(1); ? ? ? ? } ? ? ? ? break; ? ? case 5: ? ? ? ? printf("欢迎您下次使用,正在退出系统"); ? ? ? ? { ? ? ? ? ? ? for(int i=0;i<6;i++) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? printf("."); ? ? ? ? ? ? ? ? Sleep(500); ? ? ? ? ? ? } ? ? ? ? }
? ? ? ? system("pause"); ? ? ? ? break; ? ? case 4: ? ? ? ? _filefunction(); ? ? ? ? break; ? ? default : ? ? ? ? printf("输入错误!!!请重新输入\n"); ? ? ? ? goto b; ? ? } } void _flight(int choosenum) { ? ? if(choosenum==1) ? ? {//增加航班信息 ? ? ? ? int n; ? ? c:printf("请输入要增加的航班个数:"); ? ? scanf("%d",&n); ? ? if(n>100) ? ? { ? ? ? ? printf("超出最大航班数量,请重新输入!!!\n"); ? ? ? ? goto c; ? ? } ? ? else if(n<=0) ? ? { ? ? ? ? printf("输入错误!!!\n"); ? ? ? ? goto c; ? ? } ? ? else ? ? { ? ? flightnum+=n; ? ? printf("请输入:航班ID ?航空公司 ?起飞地 ?目的地 ?座位数 ?票价 ?预期起飞时间\n"); ? ? for(int i=0;i<n;i++) ? ? { ? ? ? ? scanf("%d ?%s ?%s ?%s ?%d ?%d ?%s",&p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,&p[i].seat,&p[i].cost,p[i].starttime); ? ? ? ? p[i].ticket=p[i].seat; ? ? } ? ? printf("输入完毕!!\n"); ? ? printf("系统将打印航班信息,请确认!\n"); ? ? for(int i=0;i<n;i++) ? ? { ? ? ? ? printf("%d ?%s ?%s ?%s ?%d ?%d ?%s\n",p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,p[i].seat,p[i].cost,p[i].starttime); ? ? } ? ? printf("确认完毕请输入1\n"); ? ? int temp; ? ? scanf("%d",&temp); ? ? while(temp!=1) ? ? { ? ? ? ? printf("请输入错误的航班序号(以0为结束序号)"); ? ? ? ? int wrrong[maxflight]; ? ? ? ? int i=0,wrrongnum=0; ? ? ? ? while(scanf("%d",&wrrong[i])) ? ? ? ? { ? ? ? ? ? ? if(wrrong[i]==0)break; ? ? ? ? ? ? wrrong[i]-=1; ? ? ? ? ? ? i++; ? ? ? ? ? ? wrrongnum++; ? ? ? ? } ? ? ? ? for(i=0;i<wrrongnum;i++) ? ? ? ? { ? ? ? ? ? ? printf("错误航班信息为:\n"); ? ? ? ? ? ? printf("航班ID:%d\n",p[wrrong[i]].planeID); ? ? ? ? ? ? printf("航空公司:%s\n",p[wrrong[i]].flightcompany); ? ? ? ? ? ? printf("起飞地:%s\n",p[wrrong[i]].startplace); ? ? ? ? ? ? printf("目的地:%s\n",p[wrrong[i]].arriveplace); ? ? ? ? ? ? printf("座位数:%d\n",p[wrrong[i]].seat); ? ? ? ? ? ? printf("票价:%d\n",p[wrrong[i]].cost); ? ? ? ? ? ? printf("预期起飞时间:%s\n",p[wrrong[i]].starttime);
? ? ? ? ? ? printf("请输入完整正确的航班信息:\n"); ? ? ? ? ? ? printf("航班ID ?航空公司 ?起飞地 ?目的地 ?座位数 ?票价 ?预期起飞时间\n"); ? ? ? ? ? ? scanf("%d ?%s ?%s ?%s ?%d ?%d ?%s",&p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,&p[i].seat,&p[i].cost,p[i].starttime); ? ? ? ? } ? ? ? ? printf("修改完毕!"); ? ? ? ? system("pause"); ? ? ? ? printf("系统将打印最终航班信息!\n"); ? ? ? ? for(int i=0;i<n;i++) ? ? ? ? { ? ? ? ? ? ? printf("%d ?%s ?%s ?%s ?%d ?%d ?%s\n",p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,p[i].seat,p[i].cost,p[i].starttime); ? ? ? ? } ? ? ? ? system("pause"); ? ? ? ? system("cls"); ? ? ? ? break; ? ? } ? ? printf("航班信息增加完毕,欢迎您的使用!!!\n"); ? ? admin_menu(); ? ? } ? ? } ? ? else ? ? {//删除航班信息
? ? int deleteID;
? ? d:printf("请输入您需要删除的航班ID:"); ? ? int flag=0; ? ? scanf("%d",&deleteID); ? ? for(int i=0;i<flightnum;i++) ? ? { ? ? ? ? if(deleteID==p[i].planeID) ? ? ? ? { ? ? ? ? ? ? for(int j=i; j<flightnum-1; j++) ?? ??? ??? ?{ ?? ??? ??? ??? ?p[j]=p[j+1]; ?? ??? ??? ?} ? ? ? ? ? ? flag++;
? ? ? ? } ? ? ? ? if(flag) ? ? ? ? { ? ? ? ? ? ? printf("删除成功!\n"); ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? printf("查无此航班!!\n"); ? ? ? ? } ? ? ? ? printf("请输入1以继续删除!!输入2以结束删除\n"); ? ? ? ? int n; ? ? ? ? scanf("%d",&n); ? ? ? ? if(n==1) ? ? ? ? { ? ? ? ? ? ? goto d; ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? printf("删除完毕!\n"); ? ? ? ? } ? ? ? ? system("cls"); ? ? } ? ? admin_menu(); ? ? }
}
void searchplane(int x) { ? void aftersearch(int choosenum); ? ? int main(); ? ? if(flightnum==0) { ? ? printf("暂无任何航班信息\n"); ? ? if(x==1) ? ? { ? ? ? ? printf("正为您载入航班信息增加服务"); ? ? ? ? for(int i=0;i<3;i++) ? ? ? ? { ? ? ? ? ? ? printf("."); ? ? ? ? ? ? Sleep(500); ? ? ? ? } ? ? ? ? _flight(1); ? ? } ? ? else if(x==2) ? ? { ? ? ? ? printf("请等待管理人员增加航班信息后查询!\n"); ? ? ? ? system("pause"); ? ? ? ? system("cls"); ? ? ? ? main(); ? ? } } else { ? ? printf("***请按以下要求输入***\n"); ? ? printf("*** 1.以航班ID查询 ***\n"); ? ? printf("***2.以航空公司查询***\n"); ? ? printf("***3.以起飞时间查询***\n"); ? ? printf("***4.以航班起飞地目的地查询***\n"); ? ? printf("***5.以乘客信息查找***\n"); ? ? int n; ? ? scanf("%d",&n); ? ? system("cls"); ? ? if(n==1) ? ? { ? int searchID; ? ? ? ? printf("请输入航班ID号:"); ? ? ? ? scanf("%d",&searchID); ? ? ? ? int account=0; ? ? ? ? for(int i=0;i<flightnum;i++) ? ? ? ? { ? ? ? ? ? ? if(p[i].planeID==searchID) ? ? ? ? ? ? { ? account++; ? ? ? ? ? ? ? ? printf("航班ID:%d ?航空公司:%s ?起飞地:%s ?目的地:%s ?剩余票数:%d ?票价:%d ?起飞时间:%s\n",p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,p[i].ticket,p[i].cost,p[i].starttime);
? ? ? ? ? ? } ? ? ? ? } ? ? ? ? printf("已查询到:%d个航班信息\n",account); ? ? ? ? system("pause"); ? ? ? ? aftersearch(x); ? ? } ? ? else if(n==4) ? ? { ? char search_start[10],search_arrive[10]; ? ? ? ? int account=0; ? ? ? ? printf("请输入起飞地:"); ? ? ? ? scanf("%s",search_start); ? ? ? ? printf("请输入目的地:"); ? ? ? ? scanf("%s",search_arrive); ? ? ? ? for(int i=0;i<flightnum;i++) ? ? ? ? { ? ? ? ? ? ? if(strcmp(search_start,p[i].startplace)==0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if(strcmp(search_arrive,p[i].arriveplace)==0) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? account++; ? ? ? ? ? ? ? ? ? ? printf("航班ID:%d ?航空公司:%s ?起飞地:%s ?目的地:%s ?剩余票数:%d ?票价:%d ?起飞时间:%s\n",p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,p[i].ticket,p[i].cost,p[i].starttime); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? }
? ? ? ? } ? ? ? ? if(account==0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? printf("未查询到任何起飞地:%s目的地:%s的航班!",search_start,search_arrive); ? ? ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? printf("已查询到以上有关航班%d个\n",account); ? ? ? ? } ? ? ? ? system("pause"); ? ? ? ? aftersearch(x); ? ? } ? ? else if(n==2) ? ? { ? ? ? ? char searchcompany[10]; ? ? ? ? printf("请输入您需要查询的航空公司:"); ? ? ? ? scanf("%s",searchcompany); ? ? ? ? int account =0; ? ? ? ? for(int i=0;i<flightnum;i++) ? ? ? ? { ? ? ? ? ? ? if(strcmp(searchcompany,p[i].flightcompany)==0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? account++; ? ? ? ? ? ? ? ? printf("航班ID:%d ?航空公司:%s ?起飞地:%s ?目的地:%s ?剩余票数:%d ?票价:%d ?起飞时间:%s\n",p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,p[i].ticket,p[i].cost,p[i].starttime); ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? printf("以为您查询到航空公司%s相关航班%d个\n",searchcompany,account); ? ? ? ? system("pause"); ? ? ? ? aftersearch(x); ? ? } ? ? else if(n==3) ? ? { ? ? ? ? int account=0; ? ? ? ? char searchtime[10]; ? ? ? ? e:printf("请输入您要查询的起飞时间:"); ? ? ? ? scanf("%s",searchtime); ? ? ? ? for(int i=0;i<flightnum;i++) ? ? ? ? { ? ? ? ? ? ? if(strcmp(searchtime,p[i].starttime)==0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? account++; ? ? ? ? ? ? ? ? printf("航班ID:%d ?航空公司:%s ?起飞地:%s ?目的地:%s ?剩余票数:%d ?票价:%d ?起飞时间:%s\n",p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,p[i].ticket,p[i].cost,p[i].starttime); ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? printf("已为您查询到%d个%s起飞的航班\n",account,searchtime); ? ? ? ? system("pause"); ? ? ? ? aftersearch(x); ? ? } ? ? else if(n==5) ? ? { int flag=0; ? ? ? ? printf("请输入乘客姓名:"); ? ? ? ? char tname[10]; ? ? ? ? i:scanf("%s",tname); ? ? ? ? for(int i=0;i<flightnum;i++) ? ? ? ? { ? ? ? ? ? ? if(p[i].ticket<p[i].seat) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? for(int j=0;j<p[i].seat-p[i].ticket;j++) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? if(strcmp(tname,p[i].person[j].name)==0) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? flag=1; ? ? ? ? ? ? ? ? ? ? ? ? printf("已查询到航班信息:\n"); ? ? ? ? ? ? ? ? ? ? ? ? printf("航班ID:%d ?航空公司:%s ?起飞地:%s ?目的地:%s ? ?票价:%d ?起飞时间:%s\n",p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,p[i].cost,p[i].starttime); ? ? ? ? ? ? ? ? ? ? ? ? printf("乘客姓名:%s\n乘客身份ID:%s\n",p[i].person[j].name,p[i].person[j].ID); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? if(!flag) ? ? ? ? { ? ? ? ? ? ? printf("查无此人机票信息!!!请重新输入:"); ? ? ? ? ? ? goto i; ? ? ? ? } ? ? } ? ? else ? ? { ? ? ? ? printf("输入错误!!"); ? ? ? ? printf("若想退出查询,请输入0,若想继续查询,请输入1"); ? ? ? ? int num; ? ? ? ? scanf("%d",&num); ? ? ? ? if(num==1)goto e; ? ? ? ? else aftersearch(x); ? ? } }
}
void aftersearch(int choosenum) { ? void researvation(),cancel(); ? ? if(choosenum==1) ? ? { ? ? ? ? admin_menu(); ? ? } ? ? else ? ? { ? ? ? ? if(choosenum==2) ? ? ? ? { ? ? ? ? ? ? printf("尊贵的乘客您好,若需要订票请输入1,退票请输入2,退出请输入3\n"); ? ? ? ? int n; ? ? ? ? scanf("%d",&n); ? ? ? ? if(n==1)researvation(); ? ? ? ? else if(n==2)cancel(); ? ? ? ? else if(n==3) ? ? ? ? { ? ? ? ? ? ? printf("欢迎您的使用,祝您一路平安!\n"); ? ? ? ? } ? ? ? ? } ? ? ? ? else if(choosenum==1) ? ? ? ? { ? ? ? ? ? ? Passenger_menu(); ? ? ? ? }
? ? } }
void researvation() { ? int rplaneID; ? ? int main(); ? ? char rstartplace[10],rarriveplace[10],rstarttime[10]; ? ? if(flightnum==0) ? ? { ? ? ? ? printf("暂无航班信息!请等待管理员增加信息后使用!\n"); ? ? ? ? system("pause"); ? ? ? ? system("cls"); ? ? ? ? main(); ? ? } ? ? else ? ? { ? ? g:printf("请输入您需要预定的航班ID:"); ? ? scanf("%d",&rplaneID); ? ? printf("请输入您需要预定的航班起飞地与目的地:"); ? ? scanf("%s %s",rstartplace,rarriveplace); ? ? printf("请输入您需要预定的航班时间:"); ? ? scanf("%s",rstarttime); ? ? int flag=0; ? ? for(int i=0;i<flightnum;i++) ? ? { ? ? ? ? if(strcmp(rstartplace,p[i].startplace)==0) ? ? ? ? { ? ? ? ? ? ? if(strcmp(rarriveplace,p[i].arriveplace)==0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if(strcmp(rstarttime,p[i].starttime)==0) ? ? ? ? ? ? ? ? { ? flag=1; ? ? ? ? ? ? ? ? ? ? printf("该航班剩余票数:"); ? ? ? ? ? ? ? ? ? ? printf("%d \n",p[i].ticket); ? ? ? ? ? ? ? ? ? ? if(p[i].ticket>0) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? printf("确认订购请输入1\n"); ? ? ? ? ? ? ? ? ? ? int n; ? ? ? ? ? ? ? ? ? ? scanf("%d",&n); ? ? ? ? ? ? ? ? ? ? if(n==1) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? h:printf("请输入您的姓名:"); ? ? ? ? ? ? ? ? ? ? ? ? scanf("%s",p[i].person[p[i].seat-p[i].ticket].name); ? ? ? ? ? ? ? ? ? ? ? ? printf("请输入您的身份ID:"); ? ? ? ? ? ? ? ? ? ? ? ? scanf("%s",p[i].person[p[i].seat-p[i].ticket].ID); ? ? ? ? ? ? ? ? ? ? ? ? p[i].ticket--; ? ? ? ? ? ? ? ? ? ? ? ? printf("贵宾%s您好,您所订的航班信息为\n",p[i].person[p[i].seat-p[i].ticket].name); ? ? ? ? ? ? ? ? ? ? ? ? printf("航班ID:%d ?航空公司:%s ?起飞地:%s ?目的地:%s ? ?票价:%d ?起飞时间:%s\n",p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,p[i].cost,p[i].starttime); ? ? ? ? ? ? ? ? ? ? ? ? printf("机票订购成功!"); ? ? ? ? ? ? ? ? ? ? ? ? system("pause"); ? ? ? ? ? ? ? ? ? ? ? ? system("cls"); ? ? ? ? ? ? ? ? ? ? ? ? Passenger_menu(); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? printf("???\n"); ? ? ? ? ? ? ? ? ? ? ? ? printf("需要重新查询请输入1,确认订购请输入2\n"); ? ? ? ? ? ? ? ? ? ? ? ? int temp; ? ? ? ? ? ? ? ? ? ? ? ? scanf("%d",&temp); ? ? ? ? ? ? ? ? ? ? ? ? if(temp==2)goto g; ? ? ? ? ? ? ? ? ? ? ? ? else goto h; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? printf("该航班无剩余机票!!!\n现为您转接机票查询系统"); ? ? ? ? ? ? ? ? ? ? ? ? for(int i=0;i<3;i++) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("."); ? ? ? ? ? ? ? ? ? ? ? ? ? ? Sleep(500); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? searchplane(2); ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? if(!flag) ? ? { ? ? ? ? printf("未查询到您的航班信息!!!请检查您的信息是否有误?\n"); ? ? ? ? printf("现为您转接机票查询系统"); ? ? ? ? for(int i=0;i<3;i++) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("."); ? ? ? ? ? ? ? ? ? ? ? ? ? ? Sleep(500); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? searchplane(2); ? ? } ? ? } } void cancel() { ? ? int cplaneID; ? ? char cstartplace[10],carriveplace[10],cstarttime[10],cname[10]; ? ? int main(); ? ? if(flightnum==0) ? ? { ? ? ? ? printf("暂无航班信息!请等待管理员增加信息后使用!\n"); ? ? ? ? system("pause"); ? ? ? ? system("cls"); ? ? ? ? main(); ? ? } ? ? else ? ? { ? ? ? ?printf("请输入您需要退订的航班ID:"); ? ? scanf("%d",&cplaneID); ? ? printf("请输入您需要退订的航班起飞地与目的地:"); ? ? scanf("%s %s",cstartplace,carriveplace); ? ? printf("请输入您需要退订的航班时间:"); ? ? scanf("%s",cstarttime); ? ? printf("请输入您的姓名:"); ? ? scanf("%s",cname); ? ? int flag=0; ? ? for(int i=0;i<flightnum;i++) ? ? { ? ? ? ? if(strcmp(cstartplace,p[i].startplace)==0) ? ? ? ? { ? ? ? ? ? ? if(strcmp(carriveplace,p[i].arriveplace)==0) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? if(strcmp(cstarttime,p[i].starttime)==0) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? for(int j=0;j<p[i].seat-p[i].ticket;j++) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? if(strcmp(cname,p[i].person[j].name)==0) ? ? ? ? ? ? ? ? ? ? ? ? { ? flag=1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("确认退票请输入1\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? int temp; ? ? ? ? ? ? ? ? ? ? ? ? ? ? scanf("%d",&temp); ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(temp) ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("退票成功!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p[i].person[j]=p[i].person[j+1]; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p[i].ticket++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Passenger_menu(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("贵宾%s退票失败,现为您转接乘客票务系统",cname); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for(int t=0;t<3;t++) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("."); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Sleep(500); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Passenger_menu(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? if(!flag) ? ? { ? ? ? ? printf("未查询到您的航班信息!!!请检查您的信息是否有误?\n"); ? ? ? ? system("pause"); ? ? ? ? printf("现为您转接机票查询系统"); ? ? ? ? for(int i=0;i<3;i++) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("."); ? ? ? ? ? ? ? ? ? ? ? ? ? ? Sleep(500); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? searchplane(2); ? ? } ? ? }
} void _filefunction() { ? ? FILE *fp; ? ? fp=fopen("information.txt","r+"); ? ? printf("需要写入航班信息请输入1,需要读入航班信息请输入2\n"); ? ? int n; ? ? scanf("%d",&n); ? ? if(n==1) ? ? { ? ? ? ? for(int i=0;i<flightnum;i++) ? ? ? ? { ? ? ? ? ? ? fprintf(fp,"航班ID:%d ?航空公司:%s ?起飞地:%s ?目的地:%s ?剩余票数:%d ?票价:%d ?起飞时间:%s\n",p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,p[i].ticket,p[i].cost,p[i].starttime); ? ? ? ? } ? ? ? ? printf("写入完毕!\n"); ? ? } ? ? if(n==2) ? ? { ? ? ? ? for(int i=0;i<100;i++) ? ? ? ? { ? ? ? ? ? ? fscanf(fp,"航班ID:%d ?航空公司:%s ?起飞地:%s ?目的地:%s ?剩余票数:%d ?票价:%d ?起飞时间:%s",&p[i].planeID,p[i].flightcompany,p[i].startplace,p[i].arriveplace,&p[i].ticket,&p[i].cost,p[i].starttime); ? ? ? ? } ? ? ? ? printf("读入完毕!\n"); ? ? } ? ? fclose(fp); ? ? admin_menu();
} ?
有些bug,改不动了,累死.....
|