⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 427.cpp

📁 四、飞机订票系统 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中
💻 CPP
📖 第 1 页 / 共 3 页
字号:
#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 + -