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

📄 c++feiji.c

📁 飞机航班查询 飞机顶票系统 航班查询 顶票系统的C++用
💻 C
📖 第 1 页 / 共 2 页
字号:
{    char i;
     printf("\nAppend Record!\n");
     printf("\nAirNo[4]");       for(i=0;i<4;i++) s.AirNo[i]=getche();
     printf("\nStartPos[6]");    for(i=0;i<6;i++) s.StartPos[i]=getche();
     printf("\nEndPos[6]");      for(i=0;i<6;i++) s.EndPos[i]=getche();
     printf("\nStartTime[14]");for(i=0;i<14;i++)s.StartTime[i]=getche();
     printf("\nMount[4]");       for(i=0;i<4;i++) s.Mount[i]=getche();
     printf("\nPrice[5]");       for(i=0;i<5;i++) s.Price[i]=getche();
     s.a=0x0a;

     do{printf("\nConfirm Y/N ?");
        i=getche();
       }while((i!='Y')&(i!='y')&(i!='N')&(i!='n'));

     if((i=='Y')|(i=='y'))    return 1;
     else return 0;

}
void Func1(void)
{ char i;
    i=Func11();
    if(i==1) write_app();
}
void Func2(void)
{ char m,i;
    long curposT;
    printf("\nModify Record!\n");
    printf("\n Input No. for display\n");
m=getche();
if((m>='0')|(m<=9)) curposT=disp_i(m-'0');
getch();

     printf("\nFunc1 Started!\n");
     printf("\nAirNo[4]");       for(i=0;i<4;i++) s.AirNo[i]=getche();
     printf("\nStartPos[6]");    for(i=0;i<6;i++) s.StartPos[i]=getche();
     printf("\nEndPos[6]");      for(i=0;i<6;i++) s.EndPos[i]=getche();
     printf("\nStartTime[14]");for(i=0;i<14;i++)s.StartTime[i]=getche();
     printf("\nMount[4]");       for(i=0;i<4;i++) s.Mount[i]=getche();
     printf("\nPrice[5]");       for(i=0;i<5;i++) s.Price[i]=getche();
     s.a=0x0a;
     do{printf("\nConfirm Y/N ?");
        i=getche();
       }while((i!='Y')&(i!='y')&(i!='N')&(i!='n'));

     if((i=='Y')|(i=='y'))
         write_rewrite (curposT);
}

void Func3(void)
{ char m;
    printf("\nInsert Record!\n");
    m=getche();
    if((m>='0')&(m<='9'))
        Insert_i(m-'0');
//    getche();
}
void Func4(void)
{ char m;
    printf("\nDelete Record!\n");
    m=getche();
    if((m>='0')&(m<='9')) delet_i(m-'0');
    getche();
}

void disp_title(void)
{
     printf("\n航班号\t起始站\t终点站\t起飞时间          成员定额 票价");
}
void disp_OneRecord(char num)
{    char i;
     printf("\n ");for(i=0;i<4;i++)     printf("%c",ss[num].AirNo[i]);
     printf("    /");for(i=0;i<6;i++)     printf("%c",ss[num].StartPos[i]);
     printf(" /"); for(i=0;i<6;i++)     printf("%c",ss[num].EndPos[i]);
     printf(" /"); for(i=0;i<14;i++)    printf("%c",ss[num].StartTime[i]);
     printf(" /"); for(i=0;i<4;i++)     printf("%c",ss[num].Mount[i]);
     printf("      /"); for(i=0;i<5;i++)printf("%c",ss[num].Price[i]);
//     printf("\n");
}
void search_by_endpos()    //已完成的函数 2/5
{
    char Tplace[24],i,n;
    int count;
    count=Read_all();         //读全部记录至结构ss[0...49]
    printf("\n请输入查询航班到达地方:");
    for(i=0;i<6;i++)
     Tplace[i]=getche();//scanf("%s",Tdate);
    disp_title();        //打印信息标题
  
/*for (i=0;i<count;i++)
       if(strcmp(ss[i]. StartTime,Tdate)==0) disp_OneRecord(i); */

    for (i=0;i<count;i++)
      if((ss[i]. EndPos[0]== Tplace[0])&&
         (ss[i]. EndPos[1]== Tplace[1])&&
         (ss[i]. EndPos[2]== Tplace[2])&&
         (ss[i]. EndPos[3]== Tplace[3])&&
         (ss[i]. EndPos[4]== Tplace[4])&&
         (ss[i]. EndPos[5]== Tplace[5]))   
      disp_OneRecord(i); 
    printf("\nExit (Y/N)?");do{n=getch();}while((n!='Y')&&(n!='y'));
}
void search_by_date_and_endpos() //已完成的函数 3/5
{
    char Tdate[14],Tplace[6],i,n;
    int count;
    count=Read_all();         //读全部记录至结构ss[0...49]
    printf("\n请输入查询日期:");
    scanf("%s",Tdate);
    printf("\n请输入到达地点:");
    for(i=0;i<6;i++) Tplace[i]=getche();
    disp_title();        //打印信息标题
      for (i=0;i<count;i++)
      if((ss[i]. StartTime[0]== Tdate[0])&&(ss[i].EndPos[0]== Tplace[0])&&    
         (ss[i]. StartTime[1]== Tdate[1])&&(ss[i].EndPos[1]== Tplace[1])&&
         (ss[i]. StartTime[2]== Tdate[2])&&(ss[i].EndPos[2]== Tplace[2])&&
         (ss[i]. StartTime[3]== Tdate[3])&&(ss[i].EndPos[3]== Tplace[3])&&
         (ss[i]. StartTime[4]== Tdate[4])&&(ss[i].EndPos[4]== Tplace[4])&&
         (ss[i]. StartTime[5]== Tdate[5])&&(ss[i].EndPos[5]== Tplace[5]))
    disp_OneRecord(i); 
    printf("\nExit (Y/N)?");do{n=getch();}while((n!='Y')&&(n!='y'));
}
void search_by_Mount() //已完成的函数 4/5
{
    char Max[6],i,n;
    int count;
    count=Read_all();         //读全部记录至结构ss[0...49]
    printf("\n请输入查询航班号");
    for(i=0;i<6;i++) Max[i]=getche();//scanf("%s",Tdate);
    disp_title();        //打印信息标题
    for (i=0;i<count;i++)
      if((ss[i]. AirNo[0]== Max[0])&&
         (ss[i]. AirNo[1]== Max[1])&&
         (ss[i]. AirNo[2]== Max[2])&&
         (ss[i]. AirNo[3]== Max[3])&&
         (ss[i]. AirNo[4]== Max[4])&&
         (ss[i]. AirNo[5]== Max[5]))   
      disp_OneRecord(i);    //打印信息
    printf("\nExit (Y/N)?");do{n=getch();}while((n!='Y')&&(n!='y'));

}
    long chg(char i)
{long n;
    n=(ss[i].StartTime[0]-'0')*100000+
      (ss[i].StartTime[1]-'0')*10000+
      (ss[i].StartTime[2]-'0')*1000+
      (ss[i].StartTime[3]-'0')*100+
      (ss[i].StartTime[4]-'0')*10+
      (ss[i].StartTime[5]-'0');
return n;
}
void order_by_date()    //已完成的函数 5/5
{
     long a[100],b[100];
      int count;
        int i,j;
     long temp;
     system("cls");//清屏
     count=Read_all();         //读全部记录至结构ss[0...49]
     for(i=0;i<count;i++)  
     a[i]=chg(i);//冒泡排序法
     for(i=0;i<count;i++)    b[i]=a[i];
     printf("\n排序前数组为\n");
      for(i=0;i<count;i++) printf("%ld ",a[i]);

for(i=0;i<count;i++)
{
    for(j=i;j<count;j++)
    {
     if(a[i]>a[j])
     {
      temp=a[i];
      a[i]=a[j];
      a[j]=temp;

     }

    }
}
printf("\n");
for(i=0;i<count;i++)
printf("%ld-",a[i]);
printf("\n排序后数组为\n");
for(j=0;j<count;j++) 
      for(i=0;i<count;i++)  
        if(a[j]==b[i])    disp_OneRecord(i);  

}
void search_by_date() // 样板    1/5
{ char Tdate[14],i,n;
    int count;
    count=Read_all();         //读全部记录至结构ss[0...49]
    printf("\n请输入查询日期:");
    scanf("%s",Tdate);
    disp_title();        //打印信息标题
  
/*for (i=0;i<count;i++)
       if(strcmp(ss[i]. StartTime,Tdate)==0) disp_OneRecord(i); */

    for (i=0;i<count;i++)
      if((ss[i]. StartTime[0]== Tdate[0]) &&
         (ss[i]. StartTime[1]== Tdate[1])&&
         (ss[i]. StartTime[2]== Tdate[2])&&
         (ss[i]. StartTime[3]== Tdate[3])&&
         (ss[i]. StartTime[4]== Tdate[4])&&
         (ss[i]. StartTime[5]== Tdate[5]))   
      disp_OneRecord(i); 
    printf("\nExit (Y/N)?");do{n=getch();}while((n!='Y')&&(n!='y'));
}
void Func5(void)
{char n;
printf("\n请选择");
printf("\n 1)按照时间来统计航班的航班号,即某天都有哪些航班。");
printf("\n 2)统计到某个终点的航班号,即到某个地方有哪些航班可以到达。");
printf("\n 3)统计某天到某个地方的航班号。");
printf("\n 4)统计该航空公司各个航班的最大载称人数。");
printf("\n 5)按照航班的时间进行排序。");
n=getche();
switch(n){
case '1':    search_by_date(); break;
case '2':    search_by_endpos();break;
case '3':    search_by_date_and_endpos();break;
case '4':    search_by_Mount();break;
case '5':    order_by_date();    break;
default:     break;
}
printf("\n exit when Press Any key "); getche();
}

void Func6(void)
{
printf("\nCalculate!\n");
getche();
}

void main()
{ char n,m;
    int count;
    for(;;){
//       clrscr();
       system("CLS");
       printf("\n\t\t\t 飞机订票系统设计 ");
       printf("\n\t\t\t ------主菜单------- ");
       printf("\n\t\t\t 1.录入    Input");
       printf("\n\t\t\t 2.修改    Modify");
       printf("\n\t\t\t 3.插入    Insert");
       printf("\n\t\t\t 4.删除    Delete");
       printf("\n\t\t\t 5.查询 Inquire");
       printf("\n\t\t\t 6.统计计算 Calculate");
       printf("\n\t\t\t 7.Display_i     Record");
       printf("\n\t\t\t 8.Display_all Record");
       printf("\n\t\t\t 9.Reserved");
       printf("\n\t\t\t 0.Exit    ");

       n=getch();
       switch(n)
    {
       case '1': Func1(); break;    // Input
       case '2': Func2(); break;    // Modify
       case '3': Func3(); break;    // Insert
       case '4': Func4(); break;    // Delete ok
       case '5': Func5(); break;    // *Inquire
       case '6': Func6(); break;    // *Calculate
       case '7': printf("\n Input No. for display\n");
          m=getche();
          if((m>='0')&(m<='9')) disp_i(m-'0');
          getch(); break;
       case '8': disp_all();    getch(); break;
       case '9': getch(); break;
       case '0': break; //exit to DOS
       case 'a':
       case 'A': count=Read_all(); //读全部记录至结构ss[0...49]
          disp_title();        //打印信息标题
          for(m=0;m<count;m++)
           disp_OneRecord(m); //打印全部记录中的某一个;
          write_all(count);     //将n个记录保存至文件中;
          break;
       case 'b':
       case 'B':
       default:    break;
    }
       if(n=='0') break;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -