📄 address.txt
字号:
{
read();//调用读取文件函数
printf("--------------------------------------------------------------------------\n");
printf("航班号 起始站 终点站 起飞时间 到达时间 机票数 票价(¥) 折扣\n");
for(i=0;i<m;i++)
{
printf(PRINT);//打印信息
}
printf("--------------------------------------------------------------------------\n");
printf("请按任意键结束返回上层菜单\n");
getch();
}
void c_print()//显示乘客信息
{
c_read();//读取乘客信息
printf("--------------------------------------------------------------------------\n");
printf("姓名|身份证(ID)|航班号|起始站|终点站|起飞时间|到达时间|机票数|票价(¥)|折扣\n");
for(k=0;k<q;k++)
{
printf(PRINT_C);//打印信息
}
printf("--------------------------------------------------------------------------\n");
printf("请按任意键结束返回上层菜单\n");
getch();
}
7、信息录入模块
void input()//输入模块程序
{
char y;
printf("请依次输入航班信息:\n\n");//打印提示信息
printf("--------------------------------------------------------------------------\n");
for(i=0;i<N;i++)
{
printf("请输入航班号:\n");
scanf("%s",s.num);//读取航班号
printf("请输入起始站:\n");
scanf("%s",s.start);//读取起始站
printf("请输入终点站:\n");
scanf("%s",s.end);//读取终点站
printf("请输入起飞时间:\n");
scanf("%s",s.time);//读取起飞时间
printf("请输入到达时间:\n");
scanf("%s",s.time1);//读取到达时间
printf("请输入机票数(机票数为0结束输入):\n",m);
scanf("%d",&s.count);//读取机票数
printf("请输入本次航班的票价(单位:¥):\n");
scanf("%d",&s.price);//读取票价
printf("请输入本次航班的票价折扣:\n");
scanf("%f",&s.zhekou);//读取折扣
m++;
printf("第%d个信息已经输完是否继续?按任意键继续,按0结束\n",m);
y=getch();
if(y=='0')
{
save();//将结构体信息存盘
print();//输出输入的航班信息
break;
}
}
}
8、信息修改模块
void edit() //修改模块
{
struct edit //定义结构体
{
char num[10];
char start[10];
char end[10];
char time[4];
char time1[4];
int count;
int price;
float zhekou;
}x[1];
char j[10];
int n;
read();//调用读取模块
do
{
printf(
"请选择修改方式:\n\n"
"1,按航班号修改:\n\n"
"2,按航线修改: \n\n");
printf("请在1--2中修改以回车键结束:\n\n");
scanf("%d",&n);//读取修改方式
switch(n)
{
case 1:printf("请输入航班号:\n");
scanf("%s",x[0].num);//读取航班号
break;
case 2:printf("请输入起始站:\n");
scanf("%s",x[0].start);//读取起始站
printf("请输入终点站:\n");
scanf("%s",x[0].end);//读取终点站
break;
}
for(i=0;i<m;i++)
{
if((strcmp(s.start,x[0].start)==0&&strcmp(s.end,x[0].end)==0)||(strcmp(s.num,x[0].num)==0))//判断输出条件
{
printf("航班号 起始站 终点站 起飞时间 到达时间 机票数 票价(¥) 折扣\n");
printf(PRINT);
printf("请输入新航班号 起始站 终点站 起飞时间 到达时间 机票数 票价 折扣:\n");
scanf("%s%s%s%s%s%d%d%f",x[0].num,x[0].start,x[0].end,x[0].time,x[0].time1,&x[0].count,&x[0].price,&x[0].zhekou);//定义输入格式
strcpy(s.num,x[0].num);//替换航班号
strcpy(s.start,x[0].start);//替换起始站
strcpy(s.end,x[0].end);//替换终点站
strcpy(s.time,x[0].time);//替换起飞时间
strcpy(s.time1,x[0].time1);//替换到达时间
s.count=x[0].count;//替换机票数
s.price=x[0].price;//替换机票价格
s.zhekou=x[0].zhekou;//替换票价折扣
save();//调用保存模块
printf("是否继续?请键入yes或no以回车结束:\n\n");
scanf("%s",j);
}
else
{
printf("您所输入的信息不存在,请核实后再查询,谢谢!\n");
getch();
break;
}
}
}while(strcmp(j,"yes")==0); //判断结束
}
9、信息删除模块
void del()//删除模块
{
char start[10];
char end[10];
char temp[3];
char num[10];
int n;
do
{
read();//调用读取文件函数
printf("航班号 起始站 终点站 起飞时间 到达时间 机票数 票价(¥) 折扣\n");
for(i=0;i<m;i++)
{
printf(PRINT);//打印信息
}
printf("请选择删除方式以回车结束:\n\n");//打印删除方式菜单
printf(
"1.按航班号删除\n\n"
"2.按航线删除\n\n"
"0.返回\n\n");
printf("请在0-2中选择以回车结束:\n");
scanf("%d",&n);//读取删除方式
if(n==0)
break; //跳出循环
switch(n)
{
case 1:
printf("请输入航班号:\n");
scanf("%s",num);//读取航班号
read();//调用读取函数
break;//跳出循环
case 2:
printf("请输入起始站名称:\n");
scanf("%s",start);//读取起始站
printf("请输入终点站名称:\n");
scanf("%s",end);//读取终点站
read();//调用读取函数
break;//跳出循环
}
for(i=0;i<m;i++)
{
if(strcmp(s.num,num)==0||(strcmp(s.start,start)==0&&strcmp(s.end,end)==0))//判断输入信息是否存在
{
s=s[m-1];
m--;
}
}
printf("查找完毕或没有这个信息\n\n");
printf("是否继续删除\n");
printf("请键入yes或no以回车结束\n");
scanf("%s",temp); //读取是否继续信息
save(); //调用读取函数
if(!strcmp(temp,"yes")) //判断是否继续删除
printf("请按任意键以回车结束返回上层菜单:\n");
break;
}while(n!=1&&n!=2&&n!=0); //判断结束
}
10、结构体数组的定义,预定义和主函数
#define N 1000
struct air //定义航班信息结构体数组
{
char num[10];//航班号
char start[10];//起飞城市
char end[10];//到达城市
char time[5];//起飞时间
char time1[5];//到达时间
int count;//机票数
int price;//票价
float zhekou;//折扣
}s[N];
struct customer //定义乘客订票信息结构体数组
{
char name[10];//乘客姓名
char id[5];//身份证件号
char num[10];//航班号
char start[10];//起飞城市
char end[10];//到达城市
char time[5];//起飞时间
char time1[5];//到达时间
int count;//机票数
int price;//票价
float zhekou;//折扣
}c[N];
void main()
{
int j;
printf("\n ★---欢迎进入天河航空港订票系统!---★\n");
do
{
printf("================================================================================\n");
printf(
" -------- 1.查询航班信息 -------- \n\n"
" -------- 2.订票信息 -------- \n\n"
" -------- 3.退票信息 -------- \n\n"
" -------- 4.查看现有航班信息 -------- \n\n"
" -------- 5.管理员模式 -------- \n\n"
" -------- 0.退出 -------- \n\n");
printf("================================================================================\n");
printf("请在0-5中选择以回车键结束:\n\n");
scanf("%d",&j);
switch(j)
{
case 1:search();//调用查找模块
break;
case 2:book();//调用订票模块
break;
case 3:cancel();//调用退票模块
break;
case 4:print();//调用打印模块
break;
case 5:manage();//管理员模块
break;
case 0:;
break;
}
}while(j!=0); //判断结束
printf("谢谢使用本订票系统,下次再见!\n");
getch();
}//主函数结束
void manage()//管理员模块
{
char f[]="123456"; //设置密码
printf("请输入密码并以回车结束:\n\n");
scanf("%s",f);//读取密码
if(strcmp(f,"123456")==0)
{
int j;
printf("\n ★---欢迎进入天河航空港管理员模式---★\n");
do
{
printf("================================================================================\n");
printf(
" -------- 1.输入航班信息 -------- \n\n"
" -------- 2.修改航班信息 -------- \n\n"
" -------- 3.删除航班信息 -------- \n\n"
" -------- 4.输出航班信息 -------- \n\n"
" -------- 0.退出 -------- \n\n");
printf("================================================================================\n");
printf("请在0-4中选择以回车键结束:\n\n");
scanf("%d",&j);
switch(j)
{
case 1:input();//调用输入模块
break;
case 2:edit();//调用修改模块
break;
case 3:del();//调用删除模块
break;
case 4:print();//调用打印模块
break;
case 0:;
break;
}
}while(j!=0); //判断结束
printf("已退出管理员模式!\n");
getch();
}
else
printf("输入密码错误!请检查您的密码是否正确!谢谢!再见!\n\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -