📄 427.cpp
字号:
#include "info.h"
void cover1()
{ char line[]={"程序正在退出 请耐心等待..."};
char bar[]={"...."};
char tishi[]={"欢迎下次使用"};
int k=0;
for(i=0;i<11;i++)
{ system("cls");
for(j=0;j<8;j++)
printf("\n");
printf("\t\t\t ");
for(j=0;j<i;j++)
printf("■");
for(j=10;j>i;j--)
printf("□");
printf("\n\t\t\t %s",line);
printf("\n\t\t\t\t%d",10*i);
printf("%% Loading");
for(j=0;j<k;j++)
printf("%c",bar[j]);
k++;
printf("\n\n\n\t\t\t\t%s\n\t\t\t",tishi);
for(j=0;j<=14;j++)
printf("─");
printf("\n\n\n\n\t\t\t");
printf(" 广东工业大学龙洞校区\n\t\t\t");
for(j=0;j<=14;j++)
printf("─");
printf("\n\t\t\t 学院:经济管理学院\n\t\t\t 班级:05级信息管理5班\n\t\t\t 姓名:陈展涛\n\t\t\t 学号:3105005846");
if(k>4)
k=0;
for(j=0;j<70000000;j++);/*延时效果*/
}
}
void cover()
{
char line[]={"程序读取中 请耐心等待..."};
char bar[]={"...."};
int i,j,k=0,x=0,y=0;
for(i=1;i<=10;)
{
system("cls");
for(j=0;j<9;j++) /*改变行坐标*/
cout<<endl;
for(j=0;j<(80-strlen(line))/2;j++) /*改变列坐标*/
cout<<" ";
for(j=1;j<=i;j++) /*进度显示器*/
cout<<"■";
for(x=10;x>i;x--)
cout<<"□";
if(k==4)
i++;
cout<<endl;
for(j=0;j<(75-strlen(line))/2;j++) /*行坐标定位*/
cout<<" ";
cout<<line; /*输出线条*/
cout<<endl;
for(j=0;j<(65-strlen(bar))/2;j++)
cout<<" ";
cout<<(i-1)*10<<"% Loading";
cout.write(bar,k);
cout<<endl;
for(j=0;j<10;j++)
{printf("\n");
if(j==4)
printf("\t\t\t 版权所有,翻版必究");
}
for(j=0;j<22;j++)
printf(" ");
printf("程序设计:2005级信管五班:陈展涛\n");
for(j=0;j<21;j++)
cout<<" ";
for(j=0;j<=16;j++)
cout<<"─";
cout<<endl;
for(j=0;j<27;j++)
printf(" ");
printf("我的学号为:3105005846");
for(j=0;j<10000000;j++);/*延时效果*/
k++;
if(k>4)
k=0;
}
}
void save()/*保存航班信息*/
{
FILE *fp,*fp1;/*定义文件指针*/
if((fp=fopen("flight.text","wb"))==NULL)/*打开文件并判断是否出错*/
{
printf("创建文件失败!\n\n");/*打印出错提示*/
getch();
}
if((fp1=fopen("flight_count.text","wb"))==NULL)/*打开文件并判断是否出错*/
{
printf("创建文件失败!\n\n");/*打印出错提示*/
getch();
}
for(i=0;i<m;i++)
if(fwrite(&f[i],sizeof(struct Flight),1,fp)==0)/*向文件写入数据,并判断是否出错*/
printf("向文件输入数据失败!\n\n");
fprintf(fp1,"%d",m);
fclose(fp);/*关闭文件*/
fclose(fp1);/*关闭文件*/
}
void save2()
{
FILE *fp3,*fp4;/*定义文件指针*/
if((fp3=fopen("customer.text","wb"))==NULL)/*打开文件并判断是否出错*/
{
printf("创建文件失败!\n\n");/*打印出错提示*/
getch();
}
if((fp4=fopen("customer_count.text","wb"))==NULL)/*打开文件并判断是否出错 */
{
printf("创建文件失败!\n\n");/*打印出错提示*/
getch();
}
for(j=0;j<n;j++)
if(fwrite(&c[j],sizeof(struct Customer),1,fp3)==0)/*向文件写入数据,并判断是否出错*/
printf("向文件输入数据失败!\n\n");
fprintf(fp4,"%d",n);
fclose(fp3);/*关闭文件*/
fclose(fp4);/*关闭文件*/
}
void read()
{
FILE *fp,*fp1;/*定义文件指针*/
if((fp=fopen("flight.text","rb"))==NULL)/*打开文件,并判断是否出错*/
{
printf("出错,请检查文件是否存在 ");/*打印出错提示*/
getchar();
}
if((fp1=fopen("flight_count.text","rb"))==NULL)/*打开文件并判断是否出错 */
{
printf(" 创建文件失败 按任意键返回住菜单\n\n");/*打印出错提示*/
getchar();
}
fscanf(fp1,"%d",&m);
fclose(fp1);/*关闭文件*/
for(i=0;i<m;i++)
{
fread(&f[i],sizeof(struct Flight),1,fp);/*从文件中读取信息*/
}
fclose(fp);/*关闭文件*/
}
/*从文件读取客户信息模块*/
void read2()
{
FILE *fp3,*fp4;/*定义文件指针*/
if((fp3=fopen("customer.text","rb"))==NULL)/*打开文件,并判断是否出错*/
{
printf("出错,请检查文件是否存在 ");/*打印出错提示*/
getchar();
}
if((fp4=fopen("customer_count.text","rb"))==NULL)/*打开文件并判断是否出错*/
{
printf(" 打开文件失败 按任意键返回住菜单\n\n");/*打印出错提示*/
getchar();
}
fscanf(fp4,"%d",&n);
fclose(fp4);/*关闭文件*/
for(j=0;j<n;j++)
{
fread(&c[j],sizeof(struct Customer),1,fp3);/*从文件中读取信息*/
}
fclose(fp3);/*关闭文件*/
}
int menu() /*总菜单入口*/
{int id;
do{system("cls");
printf("\n ~欢迎来到航运订票系统~\n\n");
printf(" _____________________________________________________________________\n");
printf(" │1.航线管理 │ 2.订票办理 │ 3.退或补票 │ 4.乘客管理 │ 5.退出系统│\n");
printf(" │___________________________________________________________________│\n");
printf("\n 你可以有(1~5)种选择:");
scanf("%d",&id);
}while(id>5||id<1);
return id;
}
void add_air() /*增回航线*/
{int add_m;
system("cls");
printf(" ----------------------------------------\n\n");
printf("\t你好!请输入要增加的航线条数:");
scanf("%d",&add_m);
printf(" ----------------------------------------\n\n");
printf("\t\t请填以下信息:\n");
for(i=m;i<m+add_m;i++)
{
printf("\n\t\t---------------------第%d条航线---------------------\n",i-m+1);
do{printf("\t\t请输入航班号(唯一):");
scanf("%d",&f[i].Flight_No);
j=0;
while(j<i)
{
if(f[i].Flight_No==f[j].Flight_No)
{printf("\n\t\t该航班号已经存在!\n");break;}
j++;
}
}while(j!=i);/*确保航班唯一*/
printf("\t\t请输入飞机号:");
scanf("%d",&f[i].Plane_No);
printf("\t\t请输入起点的站名:");
scanf("%s",&f[i].beg_Name);
printf("\t\t请输入终点的站名:");
scanf("%s",&f[i].Des_Name);
printf("\t\t起飞时间:(1~7)");
scanf("%d",&f[i].Week_Day);
printf("\t\t飞机的座位数:");
scanf("%d",&f[i].Customer_Amount);
f[i].Free_Amount=f[i].Customer_Amount;
printf("\t\t头等仓(元) 中等仓(元) 下等仓(元)\n");
printf("\t\t");
scanf("%d%d%d",&f[i].Price[0],&f[i].Price[1],&f[i].Price[2]);
f[i].peo=0;
}
m=m+add_m; /*航线条数增加add_m条*/
printf("\t\t\t按任何键回上一层!");
getch();
}
void delete_air() /*删除航线信息*/
{
int id;
int dec=0;
system("cls");
printf(" ~这里存有[%d]条航线~\n",m);
printf(" -----------------------------------------------------------------------------\n");
printf(" 航班号 飞机号 起点 终点 起飞时间 座位数 剩余 头等仓 中等仓 下等仓\n");
printf(" -----------------------------------------------------------------------------\n");
for(i=0;i<m;i++)
{
printf(" %-5d%10d%8s%7s 星期%s%8d%7d%7d%8d%7d\n",f[i].Flight_No,f[i].Plane_No,f[i].beg_Name,f[i].Des_Name,a[f[i].Week_Day-1],f[i].Customer_Amount,f[i].Free_Amount,f[i].Price[0],f[i].Price[1],f[i].Price[2]);
printf(" -----------------------------------------------------------------------------\n");
}
printf(" THE END\n");
printf(" 请输入要删除的航线的航班号:");
scanf("%d",&id);
for(i=0;i<m;i++)
if(id==f[i].Flight_No)
break;
if(i==m)
printf(" 你输入错误或你输入的不存在!\n");
else if(f[i].Customer_Amount!=f[i].Free_Amount)/*当该航线有人订票时,不允许对该航线删除操作*/
{ system("cls");
printf("\n\n\n\t\t\t\t该航线已经锁定!");
}
else
{printf(" 你肯定吗?(1/0)");
scanf("%d",&dec);
if(dec==1)
{
f[i]=f[m-1];
m--;
printf(" 删除成功!");
}
}
printf("\n 按任何键返回上一层!");
getch();
}
void check_air() /*查看航线信息*/
{
system("cls");
printf("\n\n ~这里存有[%d]条航线~\n",m);
printf(" -----------------------------------------------------------------------------\n");
printf(" 航班号 飞机号 起点 终点 起飞时间 座位数 剩余 头等仓 中等仓 下等仓\n");
printf(" -----------------------------------------------------------------------------\n");
for(i=0;i<m;i++)
{
printf(" %-5d%10d%8s%7s 星期%s%8d%7d%7d%8d%7d\n",f[i].Flight_No,f[i].Plane_No,f[i].beg_Name,f[i].Des_Name,a[f[i].Week_Day-1],f[i].Customer_Amount,f[i].Free_Amount,f[i].Price[0],f[i].Price[1],f[i].Price[2]);
printf(" -----------------------------------------------------------------------------\n");
}
printf(" THE END\n");
printf("\n 按任何键返回上一层……");
getch();
}
void change_air() /*修改航线信息*/
{int id;
int yn=0;
system("cls");
printf("\n\n ~这里存有[%d]条航线~\n",m);
printf(" -----------------------------------------------------------------------------\n");
printf(" 航班号 飞机号 起点 终点 起飞时间 座位数 剩余 头等仓 中等仓 下等仓\n");
printf(" -----------------------------------------------------------------------------\n");
for(i=0;i<m;i++)
{
printf(" %-5d%10d%8s%7s 星期%s%8d%7d%7d%8d%7d\n",f[i].Flight_No,f[i].Plane_No,f[i].beg_Name,f[i].Des_Name,a[f[i].Week_Day-1],f[i].Customer_Amount,f[i].Free_Amount,f[i].Price[0],f[i].Price[1],f[i].Price[2]);
printf(" -----------------------------------------------------------------------------\n");
}
printf(" THE END\n");
printf("请输入要修改航线的航班号:");
scanf("%d",&id);
j=0;
while(id!=f[j].Flight_No&&j<m)/*查找航线的位置*/
{j++;}
if(j==m) /*找不到该航线*/
{system("cls");
printf("\n\n\n\n\t\t\t 输入的航线错误或不存在!");
getch();
}
else if(f[j].Customer_Amount!=f[j].Free_Amount)/*当该航线有人订票时,不允许对该航线进行修改*/
{ system("cls");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -