C语言课设--航班订票系统

2024-06-11 1649阅读

C语言课设--航班订票系统

      • 0.文件结构
      • 1.代码
      • 2.航班信息录入
      • 3.查看航班信息
      • 4.航班信息查询
      • 5.修改航班信息
      • 6.删除航班信息
      • 7.订票
      • 8.查看订单
      • 9.修改订单
      • 10.退票

        大一的C语言课设,极简航班订票系统,希望能够对大家有所帮助

        源码 + 文件 : 航班订票系统.zip

        0.文件结构

        首先需要在代码文件同级文件夹下创建一个flight文件夹,然后在flight文件夹下创建flight.dat和order.dat文件分别用于保存航班信息和订票信息

        文件结构1

        C语言课设--航班订票系统

        文件结构2

        C语言课设--航班订票系统

        1.代码

        #include
        #include
        #include
        #include
        #define SIZE 20
        #define NUM 100
        typedef struct{
        	char flightNum[SIZE];
        	char take_off_Time[SIZE];
        	char land_Time[SIZE];
        	char take_off_City[SIZE];
        	char land_City[SIZE];
        	float pre_Price;
        	float discount;
        	float now_Price;
        	int tickets;
        }FLIGHT,*PFLIGHT;
        typedef struct{
        	char flightNum[SIZE];
        	char take_off_Time[SIZE];
        	char land_Time[SIZE];
        	char take_off_City[SIZE];
        	char land_City[SIZE];
        	float price;
        }ORDERFLIGHT,*PORDERFLIGHT;
        typedef struct{
        	char orderId[SIZE];
        	char name[SIZE];
        	char userId[SIZE];
        	ORDERFLIGHT order;
        }ORDER,*PORDER;
        void input_flight(){
        	FILE* fp;
        	int i=0;
        	int n;
        	FLIGHT f[NUM];
        	if((fp=fopen("./flight/flight.dat","ab"))==NULL){
        		printf("无法打开文件!系统将返回上一级菜单!\n");
        		return;
        	}
        	printf("请输入预计要录入的航班数: ");
        	scanf("%d",&n);
        	printf("请按照顺序(航班号,起飞时间,降落时间,起飞城市,降落城市,原票价,折扣,剩余票数)依次输入相应信息;\n其中起飞和降落时间请按照形如\"2020-01-01/12:45\"的形式输入,若无折扣请输入1.0:\n");
        	while(1){
        		scanf("%s%s%s%s%s%f%f%d",f[i].flightNum,f[i].take_off_Time,f[i].land_Time,f[i].take_off_City,f[i].land_City,&f[i].pre_Price,&f[i].discount,&f[i].tickets);
        		f[i].now_Price=f[i].pre_Price*f[i].discount;
        		if((fwrite(&f[i],sizeof(FLIGHT),1,fp))!=1)
        		printf("信息写入文件错误!\n");
        		i++;
        		if(i==n){
        			int x; 
        			printf("已达到您预计要录入的数量,是否想要继续录入,若需要请输入要继续录入的数量,若需要退出请按0: ");
        			scanf("%d",&x);
        			if(x==0)break;
        			else {
        				printf("请输入:\n");
        				n+=x;
        			}
        		}
        	}
        	printf("航班信息录入完成!\n");
        	printf("\n");
        	fclose(fp);
        }
        void check_flight(){
        	FLIGHT f[NUM];
        	FILE* fp;
        	int i=0;
        	if((fp=fopen("./flight/flight.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	printf("所有航班的信息如下所示:\n");
        	printf("航班号         起飞时间              降落时间         起飞地      目的地     原价       折扣      现价    剩余票数\n");
        	while(fread(&f[i],sizeof(FLIGHT),1,fp)) {
        	printf("%-s         %-s     %-s     %-8s      %-s   %8.2f  %8.2f   %8.2f    %3d\n",f[i].flightNum,f[i].take_off_Time,f[i].land_Time,f[i].take_off_City,f[i].land_City,f[i].pre_Price,f[i].discount,f[i].now_Price,f[i].tickets);
        	i++;
        	}
        	printf("\n");
        	fclose(fp);
        }
        void change_flight(){
        	FLIGHT f[NUM];
        	ORDER o[NUM];
        	FILE* fp1;
        	FILE* fp2;
        	FILE* op1;
        	FILE* op2; 
        	char str[SIZE];
        	char str1[SIZE];
        	int i=0;
        	int a=0;
        	int x;
        	int flag=0;
        	if((fp1=fopen("./flight/flight.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&f[i],sizeof(FLIGHT),1,fp1)) {
        		i++;
        	}
        	if((op1=fopen("./flight/order.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&o[a],sizeof(ORDER),1,op1)) {
        		a++;
        	}
        	fclose(fp1);
        	fclose(op1);
        	printf("请输入需要修改航班的航班号: ");
        	scanf("%s",str);
        	for(int j=0;j
        		if(strcmp(str,f[j].flightNum)==0){
        			printf("已找到该航班:\n");
        			printf("航班号         起飞时间              降落时间         起飞地      目的地     原价       折扣      现价    剩余票数\n");
        			printf("%-s         %-s     %-s     %-8s      %-s   %8.2f  %8.2f   %8.2f    %3d\n",f[j].flightNum,f[j].take_off_Time,f[j].land_Time,f[j].take_off_City,f[j].land_City,f[j].pre_Price,f[j].discount,f[j].now_Price,f[j].tickets);		
        			printf("请重新输入该航班的信息;\n请按照(起飞时间,降落时间,起飞城市,降落城市,原票价,折扣,剩余票数)顺序依次输入相应信息;\n其中起飞和降落时间请按照形如\"2020-01-01/12:45\"的形式输入,若无折扣请输入1.0:\n");
        			scanf("%s%s%s%s%f%f%d",f[j].take_off_Time,f[j].land_Time,f[j].take_off_City,f[j].land_City,&f[j].pre_Price,&f[j].discount,&f[j].tickets);
        			f[j].now_Price=f[j].pre_Price*f[j].discount;
        			x=j;
        			flag=1;
        		}
        	}
        	if(flag==0)printf("您所要修改的航班并不存在!\n");
        	if((fp2=fopen("./flight/flight.dat","wb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	for(int j=0;j
        		if((fwrite(&f[j],sizeof(FLIGHT),1,fp2))!=1)
        		printf("信息写入文件错误!\n");
        	}
        	fclose(fp2);
        	for(int b=0;b
        		if(strcmp(str,o[b].order.flightNum)==0){
        			strcpy(o[b].order.take_off_Time,f[x].take_off_Time);
        			strcpy(o[b].order.land_Time,f[x].take_off_Time);
        			strcpy(o[b].order.take_off_City,f[x].take_off_City);
        			strcpy(o[b].order.land_City,f[x].land_City);
        			strcpy(str1,f[x].flightNum);
        			strcpy(o[b].orderId,strcat(str1,o[b].userId));
        			o[b].order.price=f[x].now_Price;
        		}
        	}
        	if((op2=fopen("./flight/order.dat","wb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	for(int j=0;j
        		if((fwrite(&o[j],sizeof(ORDER),1,op2))!=1)
        		printf("信息写入文件错误!\n");
        	}
        	fclose(op2);
        	printf("\n");	
        }
        void delete_flight(){
        	FLIGHT f[NUM];
        	ORDER o[NUM];
        	FILE* fp1;
        	FILE* fp2;
        	FILE* op1;
        	FILE* op2;
        	char str[SIZE];
        	int i=0;
        	int j=0;
        	int a=0;
        	int b=0;
        	int x;
        	int flag=0;
        	int c=0;
        	if((fp1=fopen("./flight/flight.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&f[i],sizeof(FLIGHT),1,fp1)) {
        		i++;
        	}
        	if((op1=fopen("./flight/order.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&o[a],sizeof(ORDER),1,op1)) {
        		a++;
        	}
        	fclose(fp1);
        	fclose(op1);
        	printf("请输入需要删除航班的航班号:");
        	scanf("%s",str);
        	for(j=0;j
        		if(strcmp(str,f[j].flightNum)==0){
        			printf("已找到该航班:\n");
        			printf("航班号         起飞时间              降落时间         起飞地      目的地     原价       折扣      现价    剩余票数\n");
        			printf("%-s         %-s     %-s     %-8s      %-s   %8.2f  %8.2f   %8.2f    %3d\n",f[j].flightNum,f[j].take_off_Time,f[j].land_Time,f[j].take_off_City,f[j].land_City,f[j].pre_Price,f[j].discount,f[j].now_Price,f[j].tickets);
        			printf("确认要删除吗?(1 删除/0 取消):");
        			scanf("%d",&c);
        			printf("\n");
        			flag=1;
        			x=j;
        		}
        	}
        	if(flag==0)printf("您所要删除的航班并不存在!\n\n");
        	if(c==1){
        		if((fp2=fopen("./flight/flight.dat","wb"))==NULL){
        			printf("无法打开文件!系统将返回上一级!\n");
        			return;
        		}
        		for(int k=0;k
        			if((fwrite(&f[k],sizeof(FLIGHT),1,fp2))!=1)
        			printf("信息写入文件错误!\n");
        		}
        		for(int k=x+1;k
        			if((fwrite(&f[k],sizeof(FLIGHT),1,fp2))!=1)
        			printf("信息写入文件错误!\n");
        		}
        		printf("\n");
        		fclose(fp2); 
        	}
        	for(b=0;b
        		if(strcmp(str,o[b].order.flightNum)==0){
        			if(c==1){
        				if((op2=fopen("./flight/order.dat","wb"))==NULL){
        					printf("无法打开文件!系统将返回上一级!\n");
        					return;
        				}
        				for(int k=0;x
        					if((fwrite(&o[k],sizeof(ORDER),1,op2))!=1)
        					printf("信息写入文件错误!\n");
        				}
        				for(int k=b+1;k
        					if((fwrite(&o[k],sizeof(ORDER),1,op2))!=1)
        					printf("信息写入文件错误!\n");
        				}
        				fclose(op2);
        			}
        		}
        	}
        }
        void searchByFligtNum(){
        	FLIGHT f[NUM];
        	char str[SIZE];
        	FILE* fp;
        	int i=0;
        	int flag=0;
        	printf("请输入您想要查询的航班号: ");
        	scanf("%s",str);
        	if((fp=fopen("./flight/flight.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&f[i],sizeof(FLIGHT),1,fp)){
        		i++;
        	}
        	for(int j=0;j
        		if(strcmp(str,f[j].flightNum)==0){
        		printf("查询到相关信息,如下所示:\n");
        		printf("航班号         起飞时间              降落时间         起飞地      目的地     原价       折扣      现价    剩余票数\n");
        		printf("%-s         %-s     %-s     %-8s      %-s   %8.2f  %8.2f   %8.2f    %3d\n",f[j].flightNum,f[j].take_off_Time,f[j].land_Time,f[j].take_off_City,f[j].land_City,f[j].pre_Price,f[j].discount,f[j].now_Price,f[j].tickets);
        		flag=1;	
        		}
        	}
        	if(flag==0)printf("您所要查询的航班并不存在!\n");
        	printf("\n");
        	fclose(fp);
        } 
        void searchByAddr(){
        	FLIGHT f[NUM];
        	char str1[SIZE];
        	char str2[SIZE];
        	FILE* fp;
        	int i=0;
        	int flag=0;
        	printf("请输入您想要查询的航班的起飞地和目的地: ");
        	scanf("%s%s",str1,str2);
        	if((fp=fopen("./flight/flight.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&f[i],sizeof(FLIGHT),1,fp)){
        		i++;
        	}
        	for(int j=0;j
        		if((strcmp(str1,f[j].take_off_City)==0)&&(strcmp(str2,f[j].land_City)==0)){
        		printf("查询到相关信息,如下所示:\n");
        		printf("航班号         起飞时间              降落时间         起飞地      目的地     原价       折扣      现价    剩余票数\n");
        		printf("%-s         %-s     %-s     %-8s      %-s   %8.2f  %8.2f   %8.2f    %3d\n",f[j].flightNum,f[j].take_off_Time,f[j].land_Time,f[j].take_off_City,f[j].land_City,f[j].pre_Price,f[j].discount,f[j].now_Price,f[j].tickets);
        		flag=1;
        		}
        	}
        	if(flag==0)printf("您所要查询的航班并不存在!\n");
        	printf("\n");
        	fclose(fp);
        }
        void search(){
        	int i;
        	system("cls");
        	while(1){
        		printf("                      **************************欢迎使用航班搜索系统**************************\n");
        		printf("                       @                          1.按航班号搜索                            @\n");
        		printf("                       @                          2.按起飞和降落地址搜索                    @\n");
        		printf("                       @                          3.退     出                               @\n");
        		printf("                      ************************************************************************\n");
        		printf("请选择: ");
        		scanf("%d",&i);
        		switch(i){
        			case 1:searchByFligtNum();break;
        			case 2:searchByAddr();break; 
        			case 3:printf("\n");return; 
        			default:printf("\n");return;
        		}
        	}
        }
        void add_order(){
        	FILE* op;
        	FILE* fp1;
        	FILE* fp2;
        	ORDER o[NUM];
        	FLIGHT f[NUM];
        	char str[SIZE];
        	int i=0;
        	int k=0;
        	int n;
        	int x;
        	int flag=0; 
        	if((op=fopen("./flight/order.dat","ab"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	if((fp1=fopen("./flight/flight.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&f[i],sizeof(FLIGHT),1,fp1)){
        		i++;
        	}
        	fclose(fp1);
        	printf("请输入预计要订购的机票数: ");
        	scanf("%d",&n);
        	printf("请按照顺序(用户姓名,证件号,航班号)依次输入相应信息:\n");
        	while(1){
        		scanf("%s%s%s",o[k].name,o[k].userId,o[k].order.flightNum);
        		for(int j=0;j
        			if(strcmp(o[k].order.flightNum,f[j].flightNum)==0){
        				if(f[j].tickets=n){
        					strcpy(o[k].order.take_off_Time,f[j].take_off_Time);
        					strcpy(o[k].order.land_Time,f[j].take_off_Time);
        					strcpy(o[k].order.take_off_City,f[j].take_off_City);
        					strcpy(o[k].order.land_City,f[j].land_City);
        					strcpy(str,f[j].flightNum);
        					strcpy(o[k].orderId,strcat(str,o[k].userId));
        					o[k].order.price=f[j].now_Price;
        					f[j].tickets--;
        					flag=1;
        				}
        				else {
        					printf("余票不足!您可以通过查询的结果订购其他航班!\n");
        					return;
        				}
        			}
        		}
        		if(flag==0){
        			printf("没有相应的航班!\n\n");
        			break;
        		} 
        		if((fwrite(&o[k],sizeof(ORDER),1,op))!=1)
        		printf("信息写入文件错误!\n");
        		k++;
        		if(k==n){
        			int x; 
        			printf("已达到您预计要订购的机票数量,是否想要继续订购,若需要请输入要继续订购的数量,若要退出请按0: ");
        			scanf("%d",&x);
        			if(x==0)break;
        			else {
        				printf("请输入:\n");
        				n+=x;
        			}
        		}
        	}
        	if((fp2=fopen("./flight/flight.dat","wb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	for(int j=0;j
        		if((fwrite(&f[j],sizeof(FLIGHT),1,fp2))!=1)
        		printf("信息写入文件错误!\n");
        	}
        	if(flag==1)printf("订票完成!\n\n");
        	fclose(fp2);
        	fclose(op);
        }
        void check_all(){
        	ORDER o[NUM];
        	FILE* op;
        	int i=0;
        	if((op=fopen("./flight/order.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	printf("所有订单的信息如下所示:\n");
        	printf(" 订单号    姓名        证件号     航班号      起飞时间          降落时间         起飞地    目的地   价格\n");
        	while(fread(&o[i],sizeof(ORDER),1,op)) {
        	printf("%s   %-7s   %7s   %7s   %7s   %7s   %7s   %7s   %6.2f\n",o[i].orderId,o[i].name,o[i].userId,o[i].order.flightNum,o[i].order.take_off_Time,o[i].order.land_Time,o[i].order.take_off_City,o[i].order.land_City,o[i].order.price);
        	i++;
        	}
        	printf("\n");
        	fclose(op);
        }
        void check_person(){
        	ORDER o[NUM];
        	char str[SIZE];
        	FILE* op;
        	int i=0;
        	printf("请输入用户的证件号: ");
        	scanf("%s",str);
        	if((op=fopen("./flight/order.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&o[i],sizeof(ORDER),1,op)){
        		i++;
        	}
        	printf("查询到相关信息,如下所示:\n");
        	printf(" 订单号    姓名        证件号     航班号      起飞时间          降落时间         起飞地    目的地   价格\n");
        	for(int j=0;j
        		if(strcmp(str,o[j].userId)==0){	
        		printf("%s   %-7s   %7s   %7s   %7s   %7s   %7s   %7s   %6.2f\n",o[j].orderId,o[j].name,o[j].userId,o[j].order.flightNum,o[j].order.take_off_Time,o[j].order.land_Time,o[j].order.take_off_City,o[j].order.land_City,o[j].order.price);	
        		}
        	}
        	printf("\n");
        	fclose(op);
        }
        void check_order(){
        	int i;
        	system("cls");
        	while(1){
        		printf("                      **************************欢迎使用订单查看系统**************************\n");
        		printf("                       @                          1.查看所有订单                            @\n");
        		printf("                       @                          2.查看单个用户订单                        @\n");
        		printf("                       @                          3.退     出                               @\n");
        		printf("                      ************************************************************************\n");
        		printf("请选择: ");
        		scanf("%d",&i);
        		switch(i){
        			case 1:check_all();break;
        			case 2:check_person();break; 
        			case 3:printf("\n");return; 
        			default:printf("\n");break;
        		}
        	}
        }
        void change_order(){
        	FILE* fp1;
        	FILE* fp2;
        	FILE* op1;
        	FILE* op2;
        	FLIGHT f[NUM];
        	ORDER o[NUM];
        	char str1[SIZE];
        	char str2[SIZE];
        	char str3[SIZE];
        	char str4[SIZE];
        	int i=0;
        	int j=0;
        	int k;
        	int x;
        	int flag=0;
        	int fflag=0;
        	if((op1=fopen("./flight/order.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	if((fp1=fopen("./flight/flight.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&f[i],sizeof(FLIGHT),1,fp1)){
        		i++;
        	}
        	while(fread(&o[j],sizeof(ORDER),1,op1)){
        		j++;
        	} 
        	fclose(fp1);
        	fclose(op1);
        	printf("请输入需要修改订单的订单号: ");
        	scanf("%s",str1);
        	for(k=0;k
        		if(strcmp(str1,o[k].orderId)==0){
        			printf("已找到该订单,信息如下:\n");
        			printf(" 订单号    姓名        证件号     航班号      起飞时间          降落时间         起飞地    目的地   价格\n");
        			printf("%s   %-7s   %7s   %7s   %7s   %7s   %7s   %7s   %6.2f\n",o[k].orderId,o[k].name,o[k].userId,o[k].order.flightNum,o[k].order.take_off_Time,o[k].order.land_Time,o[k].order.take_off_City,o[k].order.land_City,o[k].order.price);
        			strcpy(str2,o[k].order.flightNum);
        			flag=1;
        			x=k;
        		}
        	}
        	if(flag==1){
        		printf("请输入新航班的航班号: ");
        		scanf("%s",str3);
        		for(int a=0;a
        			if(strcmp(str3,f[a].flightNum)==0){
        				if(f[a].tickets=1){
        					strcpy(o[x].order.take_off_Time,f[a].take_off_Time);
        					strcpy(o[x].order.land_Time,f[a].take_off_Time);
        					strcpy(o[x].order.take_off_City,f[a].take_off_City);
        					strcpy(o[x].order.land_City,f[a].land_City);
        					strcpy(str4,f[a].flightNum);
        					strcpy(o[x].orderId,strcat(str4,o[x].userId));
        					o[x].order.price=f[a].now_Price;
        					f[a].tickets--;
        					fflag=1; 
        				}
        				else {
        					printf("余票不足!\n\n");
        					return;
        				}
        			}
        		}
        		if(fflag==1){
        			for(int b=0;b
        				if(strcmp(str2,f[b].flightNum)==0){
        					f[b].tickets++;
        				}
        			}
        		}
        		if(fflag==0){
        			printf("该航班并不存在!\n\n");
        			return;
        		} 
        	}
        	if(flag==0){
        		printf("未查询到该订单信息!\n\n");
        		return;
        	}
        	if(flag==1&&fflag==1){
        		if((fp2=fopen("./flight/flight.dat","wb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        		}
        	 	for(int c=0;c
        			if((fwrite(&f[c],sizeof(FLIGHT),1,fp2))!=1)
        			printf("信息写入文件错误!\n");
        		}
        		if((op2=fopen("./flight/order.dat","wb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        		}
        	 	for(int c=0;c
        			if((fwrite(&o[c],sizeof(ORDER),1,op2))!=1)
        			printf("信息写入文件错误!\n");
        		}
        		fclose(fp2);
        		fclose(op2);
        		printf("订单修改完成!\n\n");
        	}
        }
        void return_order(){
        	FILE* op1;
        	FILE* op2;
        	FILE* fp1;
        	FILE* fp2;
        	char str[SIZE];
        	ORDER o[NUM];
        	FLIGHT f[NUM];
        	int i=0;
        	int j=0;
            int c=0;
        	int flag=0; 
        	if((op1=fopen("./flight/order.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	if((fp1=fopen("./flight/flight.dat","rb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
        	while(fread(&f[i],sizeof(FLIGHT),1,fp1)){
        		i++;
        	}
        	while(fread(&o[j],sizeof(ORDER),1,op1)){
        		j++;
        	} 
        	fclose(fp1);
        	fclose(op1);
        	printf("请输入订单号:\n");
        	scanf("%s",str);
        	for(int k=0;k
        		if(strcmp(str,o[k].orderId)==0){
        			printf("已查找到该订单,信息如下:\n");
        			printf(" 订单号    姓名        证件号     航班号      起飞时间          降落时间         起飞地    目的地   价格\n");
        			printf("%s   %-7s   %7s   %7s   %7s   %7s   %7s   %7s   %6.2f\n",o[k].orderId,o[k].name,o[k].userId,o[k].order.flightNum,o[k].order.take_off_Time,o[k].order.land_Time,o[k].order.take_off_City,o[k].order.land_City,o[k].order.price);
        			printf("确认要退票吗?(1 确认/0 取消):");
        			scanf("%d",&c);
        			if(c==1){
        				if((op2=fopen("./flight/order.dat","wb"))==NULL){
        					printf("无法打开文件!系统将返回上一级!\n");
        					return;
        				}
        				for(int x=0;x
        					if((fwrite(&o[x],sizeof(ORDER),1,op2))!=1)
        					printf("信息写入文件错误!\n");
        				}
        				for(int x=k+1;x
        					if((fwrite(&o[x],sizeof(ORDER),1,op2))!=1)
        					printf("信息写入文件错误!\n");
        				} 
        				f[k].tickets++;
        				flag=1;
        				fclose(op2);
        			}
        			else {
        				printf("取消退票!\n\n");
        				return;
        			}
        		}
        	} 
        	if((fp2=fopen("./flight/flight.dat","wb"))==NULL){
        		printf("无法打开文件!系统将返回上一级!\n");
        		return;
        	}
         	for(int x=0;x
        		if((fwrite(&f[x],sizeof(FLIGHT),1,fp2))!=1)
        		printf("信息写入文件错误!\n");
        	}
        	fclose(fp2);
        	if(flag==0)printf("您所要退订的航班并不存在!\n\n");
        	if(flag==1)printf("退票完成!\n\n");
        }
        int main(){
        	int i;
        	while(1){
        		printf("                 @@@@@***************************欢迎使用航班订票系统***************************@@@@@\n");
        		printf("                 ###                              1 录 入 航 班 信 息                             ###\n");
        		printf("                 @@@                              2 查 看 航 班 信 息                             @@@\n");
        		printf("                 ###                              3 查 询 航 班 信 息                             ###\n");
        		printf("                 @@@                              4 修 改 航 班 信 息                             @@@\n");
        		printf("                 ###                              5 删 除 航 班 信 息                             ###\n");
        		printf("                 @@@                              6 订             票                             @@@\n");
        		printf("                 ###                              7 查   看   订   单                             ###\n");
        		printf("                 @@@                              8 修   改   订   单                             @@@\n");
        		printf("                 ###                              9 退             票                             ###\n");
        		printf("                 @@@                              0 退   出   程   序                             @@@\n");
        		printf("                 #####!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#####\n");
        		printf("请选择: ");
        		scanf("%d",&i);
        		switch(i){
        			case 1:input_flight();break;
        			case 2:check_flight();break;
        			case 3:search();break;
        	 		case 4:change_flight();break; 
        	 		case 5:delete_flight();break;
        	 		case 6:add_order();break;
        	 		case 7:check_order();break;
        	 		case 8:change_order();break;
        	 		case 9:return_order();break;
        	 		case 0:exit(0);
        	 		default:break;
        		}
        	}
        	return 0;
        }
        
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]