简易航班信息系统设计
#include
#include
#include
#define N 20
#define Q 40
/*定义数据结构*/
/*乘客信息*/
typedef struct
{
char number[10];/*编号*/
char id[20]; /*证件号*/
char name[10]; /*姓名*/
int count; /*订票数*/
char flightname[10];/*乘坐航班号*/
}GUEST;
/*航班信息*/
typedef struct
{char planenumber[10];/*航班号*/
char Take_off_city[20];/*起飞城市*/
char Arrived_in_city[20];/*抵达城市*/
char takeoff_time[20];/*起飞时间*/
char Landing_time[20];/*降落时间*/
int shipping; /*舱位数*/
char price[5]; /*票价*/
char discount[5]; /*折扣*/
GUEST guest[20];
int sit;
}FLY;
/*菜单函数,函数返回值为整数,代表所选的菜单项*/
int menu_select()
{
int c;
printf("按任意键返回主菜单\n");
/*提示压任意键继续*/
// getch(); /*读入任意字符*/
printf(" Welcome to\n\n");
printf(" Tickets Booking System\n\n");
printf(" ********************MENU****************\n\n");
printf(" 0. 输入航班信息\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(" *****************************************\n\n");
do{
printf("\n 输入你的选择项(0~9):"); /*提示输入选项*/
scanf("%d",&c); /*输入选择项*/
}while(c<0||c>9); /*选择项不在~9之间重输*/
return c; /*返回选择项,主程序根据该数调用相应的函数*/
}
/*输入函数*/
int enter(FLY t[])
{
int i,k,n,m,w,j;
char *s;
printf("输入航线总数(n<=40):");/*输入航线总数*/
scanf("%d",&n);
while(n>40||n<0)
{
printf("输入错误!!再次输入(0n-1) /*如果整数i值大于n-1,说明没找到*/
printf("没有找到\n");
else
{
printf("航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣\n"); /*显示记录*/
printf("------------------------------------------------------------------------------\n");
printf("%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n",t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].discount);
}
}
/*按起降城市查找记录*/
void search2(FLY t[],int n)
{
char s1[20];
char s2[20];
int i;
printf("输入起飞城市名称:");
scanf("%s",s1); /*输入起飞城市名*/
printf("输入降落城市名称:");
scanf("%s",s2); /*输入降落城市名*/
for(i=0;in-1) /*如果整数i值大于n-1,说明没找到*/
printf("没有找到\n");
else
{
printf("航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣\n"); /*找到,显示记录*/
printf("------------------------------------------------------------------------------\n");
printf("%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n",t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].discount);
}
}
/*订票*/
void book(FLY t[],int n)
{
char s[20],number1[10],name1[10],id1[20],flightname1[10];
int i,j=0,m,k,count1;
printf("输入你想预订的票数:");
scanf("%d",&m);
printf("号码 姓名 证件号 订的票数 航班号\n"); /*提示信息*/
printf("------------------------------------------------------------\n");
for(k=0;kn-1) /*如果整数i值大于n-1,说明没找到*/
{
printf("对不起!没有此航班\n");
m=m+2;
k++;
}
}
}
/*退票*/
void quit(FLY t[],int n)
{
char s1[20],s2[20]; /*保存待查找航班名和证件号字符串*/
int i,k,j,h,l,ch;
printf("请输入你想退订的航班号:");
scanf("%s",s1); /*输入待查找航班名*/
printf("请输入你的证件号:");
scanf("%s",s2); /*输入待查找证件号*/
printf("号码 姓名 证件号 订的票数 航班号\n"); /*显示提示*/
printf("------------------------------------------------------------\n");
for(i=0;in-1) /*如果整数i值大于n-1,说明没找到*/
printf("没有找到\n");
else
{
printf("你是否确认删除(1/0)\n"); /*确认是否要删除*/
scanf("%d",&ch); /*输入一个整数或*/
if(ch==1) /*如果确认删除整数为*/
{
for(k=l+1;kn-1) /*如果整数i值大于n-1,说明没找到*/
printf("没有找到\n");
else
{
printf("航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣\n"); /*找到,显示原先记录*/
printf("------------------------------------------------------------------------------\n");
printf("%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n",t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].discount);
printf("please input the new information:\n");
scanf("%s",t[i].planenumber);/*输入航班名*/
scanf("%s",t[i].Take_off_city);/*输入起始城市*/
scanf("%s",t[i].Arrived_in_city);/*输入终点城市*/
scanf("%s",t[i].takeoff_time);/*输入起飞时间*/
scanf("%s",t[i].Landing_time);/*输入降落时间*/
scanf("%d",t[i].shipping);/*输入座位号*/
scanf("%s",t[i].price);/*输入票价*/
scanf("%s",t[i].discount);/*输入折扣*/
}
}
/*保存资料*/
void save(FLY t[],int n)
{
int i,j;
FILE *fp; /*指向文件的指针*/
if((fp=fopen("record1.txt","wb"))==NULL) /*打开文件,并判断打开是否正常*/
{
printf("can not open file\n");/*没打开*/
exit(1); /*退出*/
}
printf("\n保存文件\n"); /*输出提示信息*/
fprintf(fp,"%d",n); /*将记录数写入文件*/
fprintf(fp,"\r\n"); /*将换行符号写入文件*/
for(i=0;i
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190710174406402.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NTRE40NDc0NDdM
#include
#include
#include
#define N 20
#define Q 40
/*定义数据结构*/
/*乘客信息*/
typedef struct
{
char number[10];/*编号*/
char id[20]; /*证件号*/
char name[10]; /*姓名*/
int count; /*订票数*/
char flightname[10];/*乘坐航班号*/
}GUEST;
/*航班信息*/
typedef struct
{char planenumber[10];/*航班号*/
char Take_off_city[20];/*起飞城市*/
char Arrived_in_city[20];/*抵达城市*/
char takeoff_time[20];/*起飞时间*/
char Landing_time[20];/*降落时间*/
int shipping; /*舱位数*/
char price[5]; /*票价*/
char discount[5]; /*折扣*/
GUEST guest[20];
int sit;
}FLY;
/*菜单函数,函数返回值为整数,代表所选的菜单项*/
int menu_select()
{
int c;
printf("按任意键返回主菜单\n");
/*提示压任意键继续*/
// getch(); /*读入任意字符*/
printf(" Welcome to\n\n");
printf(" Tickets Booking System\n\n");
printf(" ********************MENU****************\n\n");
printf(" 0. 输入航班信息\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(" *****************************************\n\n");
do{
printf("\n 输入你的选择项(0~9):"); /*提示输入选项*/
scanf("%d",&c); /*输入选择项*/
}while(c<0||c>9); /*选择项不在~9之间重输*/
return c; /*返回选择项,主程序根据该数调用相应的函数*/
}
/*输入函数*/
int enter(FLY t[])
{
int i,k,n,m,w,j;
char *s;
printf("输入航线总数(n<=40):");/*输入航线总数*/
scanf("%d",&n);
while(n>40||n<0)
{
printf("输入错误!!再次输入(0n-1) /*如果整数i值大于n-1,说明没找到*/
printf("没有找到\n");
else
{
printf("航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣\n"); /*显示记录*/
printf("------------------------------------------------------------------------------\n");
printf("%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n",t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].discount);
}
}
/*按起降城市查找记录*/
void search2(FLY t[],int n)
{
char s1[20];
char s2[20];
int i;
printf("输入起飞城市名称:");
scanf("%s",s1); /*输入起飞城市名*/
printf("输入降落城市名称:");
scanf("%s",s2); /*输入降落城市名*/
for(i=0;in-1) /*如果整数i值大于n-1,说明没找到*/
printf("没有找到\n");
else
{
printf("航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣\n"); /*找到,显示记录*/
printf("------------------------------------------------------------------------------\n");
printf("%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n",t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].discount);
}
}
/*订票*/
void book(FLY t[],int n)
{
char s[20],number1[10],name1[10],id1[20],flightname1[10];
int i,j=0,m,k,count1;
printf("输入你想预订的票数:");
scanf("%d",&m);
printf("号码 姓名 证件号 订的票数 航班号\n"); /*提示信息*/
printf("------------------------------------------------------------\n");
for(k=0;kn-1) /*如果整数i值大于n-1,说明没找到*/
{
printf("对不起!没有此航班\n");
m=m+2;
k++;
}
}
}
/*退票*/
void quit(FLY t[],int n)
{
char s1[20],s2[20]; /*保存待查找航班名和证件号字符串*/
int i,k,j,h,l,ch;
printf("请输入你想退订的航班号:");
scanf("%s",s1); /*输入待查找航班名*/
printf("请输入你的证件号:");
scanf("%s",s2); /*输入待查找证件号*/
printf("号码 姓名 证件号 订的票数 航班号\n"); /*显示提示*/
printf("------------------------------------------------------------\n");
for(i=0;in-1) /*如果整数i值大于n-1,说明没找到*/
printf("没有找到\n");
else
{
printf("你是否确认删除(1/0)\n"); /*确认是否要删除*/
scanf("%d",&ch); /*输入一个整数或*/
if(ch==1) /*如果确认删除整数为*/
{
for(k=l+1;kn-1) /*如果整数i值大于n-1,说明没找到*/
printf("没有找到\n");
else
{
printf("航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣\n"); /*找到,显示原先记录*/
printf("------------------------------------------------------------------------------\n");
printf("%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n",t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].discount);
printf("please input the new information:\n");
scanf("%s",t[i].planenumber);/*输入航班名*/
scanf("%s",t[i].Take_off_city);/*输入起始城市*/
scanf("%s",t[i].Arrived_in_city);/*输入终点城市*/
scanf("%s",t[i].takeoff_time);/*输入起飞时间*/
scanf("%s",t[i].Landing_time);/*输入降落时间*/
scanf("%d",t[i].shipping);/*输入座位号*/
scanf("%s",t[i].price);/*输入票价*/
scanf("%s",t[i].discount);/*输入折扣*/
}
}
/*保存资料*/
void save(FLY t[],int n)
{
int i,j;
FILE *fp; /*指向文件的指针*/
if((fp=fopen("record1.txt","wb"))==NULL) /*打开文件,并判断打开是否正常*/
{
printf("can not open file\n");/*没打开*/
exit(1); /*退出*/
}
printf("\n保存文件\n"); /*输出提示信息*/
fprintf(fp,"%d",n); /*将记录数写入文件*/
fprintf(fp,"\r\n"); /*将换行符号写入文件*/
for(i=0;i