如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
#include"ticket.h"#include"plan.h"#include"infor.h"//对plan.h进行定义//#ifndef_PLAN_H#define_PLAN_H#include<stdio.h>#include<string.h>#include<stdlib.h>#idefinePLANEDAT"plane.dat"//航班记录文件voidplane_check();AirPlaneplane_check_id(intid,intflag);//按航班id查找intplanesave(AirPlanePlane);//保存航班记录#endif//_PLAN_H//对infor.h进行定义//#ifndef_INFOR_H#define_INFOR_H//机票信息typedefstruct{intm_planeID;//航班号charm_left;//剩余票数charm_date;//日期floatm_price;//价格intm_rebate;//设置打折}AirPlane;//用户信息typedefstruct{charm_ID[20];//身份证号charm_name[20];//姓名intm_planeID;//航班号charm_ticketnum[15];//机票编号intm_isFlog;//}Passenger;#endif//_INFOR_Hintmain(){printf("-------------welcomeuse--------------\n");menu();return0;}voidmenu(){intc;while(1){printf("\n--MENU-------------------\n");printf("\t[1]订票\n");printf("\t[0]退出\n");printf("-------------------------\n");printf("请输入:");scanf("%d",&c);switch(c){case1:book_ticket();break;case0:return;}}voidsave(Passengerpass)//保存售票记录{intr=0;AirPlaneplane={0};//用户文件写入FILE*fd=fopen(USERDAT,"a+");if(NULL==fd){printf("%sOPENERROR!\n",PLANEDAT);return;}fwrite(&pass,sizeof(pass),1,fd);fclose(fd);//plane文件修改fd=fopen(PLANEDAT,"r+");if(NULL==fd){printf("%sOPENERROR!\n",PLANEDAT);return;}while(1){r=fread(&plane,sizeof(plane),1,fd);if(r<=0)break;if(plane.m_planeID==pass.m_planeID){plane.m_left--;fseek(fd,sizeof(plane)*(-1),SEEK_CUR);fwrite(&plane,sizeof(plane),1,fd);break;}}fclose(fd);}voidbook_ticket(){intid=0;charc;AirPlaneplane={0};Passengerpass={0};printf("\n--订票-----------------------\n");while(1){printf("请输入航班号:(0退出订票)\n");scanf("%d",&id);if(0==id)break;plane=plane_check_id(id,0);if(plane.m_planeID==0){printf("航班不存在\n");continue;}if(plane.m_left==0){printf("无票,是否定其它航班(y/n)\n");scanf("%c",&c);if(c!='y'&&c!='Y')break;elsecon