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

📄 数据结构程序设计.txt

📁 航空订票的实现以及查询,根据姓名,地址.时间等
💻 TXT
📖 第 1 页 / 共 2 页
字号:
scanf("%s",&a);
printf("  xuhao   xingming     shenfenzhenghaoma   dingpiaoriqi    hangbanhao   zuoweihao\n");
for(i=1;i<=pla.last;i++)
{ p=pla.plane[i].men;
   while(p!=NULL)
     {if(strcmp(a,p->time)==0)
          {printf("%4d  %8s   %8s   %8s  %4d  %8s\n",
                 j,p->name,p->ID,p->time,pla.plane[i].number,p->seatnum);
                 j=j+1;
                bool=1;
                }
               p=p->next;
            }
                /*ruguomeichadao*/
         }
     if(bool==0) printf("meiyouzaizhetiandingpiaodechengke!");
            else  printf("bentianzongdingpiaorenshu:%d\n",j-1);
     printf("anhuichehuizhucaidan...");getche();mainmenu();
}

void f2()
{
int i;
printf("benhangkonggongsigongyouhangban:%d\n",pla.last);
printf("hangbanhaoruxia:\n");
for(i=1;i<=pla.last;i++)
{ printf("  %2d    %6d ",i,pla.plane[i].number);
if(i%3==0) printf("\n");
}
}
void add()
{
int b;
cleardevice();
printf("\t\tniyijinruzengjiahangbanmukuai\n\n");
printf("\t\t\t\tjinggao :  nindecaozuojiangzengjiahangbanshu!\n\n\n\n\n\n\n\nquedingma?\n\n");
printf("\tan1jianqueding\n\tan2jianfanhuizhucaidan...");
label2 : scanf("%d",&b);
switch(b)
{
case 1 : pla.last=pla.last+1;
                        printf("\n\tqingshuruhangbanhao:");
                        scanf("%d",&(pla.plane[pla.last].number));
                        printf("\n\tqingshuruchufadi:");
                        scanf("%s",pla.plane[pla.last].startpoint);
                        printf("\n\tqingshurumudidi:");
                        scanf("%s",pla.plane[pla.last].endpoint);
                        printf("\n\tqingshuruqifeishijian:");
                        scanf("%s",pla.plane[pla.last].starttime);
                        printf("\n\tqingshurudaoshijian:");
                        scanf("%s",pla.plane[pla.last].endtime);
                        printf("\n\tqingshuruzuidachengkeshu:");
                        scanf("%d",&(pla.plane[pla.last].peoplenum));
                        printf("\n\tqingshurupiaojia:");
                        scanf("%d",&(pla.plane[pla.last].money));
                        printf("\n\tqingshurufeixinggudingshijian:");
                                                     scanf("%s",pla.plane[pla.last].time);
                                                      printf("\n\t\t%dshujushuruchenggong!\n\n\n\nanhuichehuizhucaidan...",pla.last);
                        pla.plane[pla.last].ticket=pla.plane[pla.last].peoplenum;
                        pla.plane[pla.last].men=NULL;
                        pla.plane[pla.last].end=NULL;
                        getche();
                        mainmenu();
                        break;

case 2 : mainmenu();break ;
default  : printf("\n\n\tcuowuqingchongxinxuanze!... ");  goto  label2;
}

}
void dele()
{
int i;
int j;
int b;
int planenum1;
    int bool;
   printf("qingshuruninxiangshanchudehangbanhao:\n");
   scanf("%d",&planenum1);
   j=0; bool=0;
   while(bool==0&&j<=pla.last)
      {  if(pla.plane[j].number==planenum1)    /*ruguozhaodaogaihangbanzeshuchuxiangguanziliao*/
         {printf("ninshurudehangbanhaoyijingzhaodao,ziliaoruxia:\n");
          printf("qifeigang:%s\ndaodagang:%s\nqifeishijian:%s\ndaodashijian:%s\nchengkedinger:%d\nfeixinggudingshijian:%s\npiaojia:%d\n\n",
                          pla.plane[j].startpoint,pla.plane[j].endpoint,pla.plane[j].starttime,pla.plane[j].endtime,pla.plane[j].peoplenum,pla.plane[j].time,pla.plane[j].money);
          bool=1;
         }
          j++;
      }
   if(bool==0) {printf("ninshurudehangbanhaobucunzai!");
               printf("anhuichehuizhucaidan");
               getche();
               mainmenu();
               }
printf("\n\tqueshiyaoshanchucicihangban?\n\n\n");
printf("an1queding\tan2jianfanhuizhucaidan\n\n\t\t\t\tqingxuanze..." );
label3 : scanf("%d",&b);
switch(b)
{ case 1 :for(i=j-1;i<pla.last;i++)
            {pla.plane[i].number=pla.plane[i+1].number;
             strcpy(pla.plane[i].startpoint,pla.plane[i+1].startpoint);
             strcpy(pla.plane[i].endpoint,pla.plane[i+1].endpoint);
             strcpy(pla.plane[i].starttime,pla.plane[i+1].starttime);
             strcpy(pla.plane[i].endtime,pla.plane[i+1].endtime);
             pla.plane[i].ticket=pla.plane[i+1].ticket;
             pla.plane[i].peoplenum=pla.plane[i+1].peoplenum;
             pla.plane[i].way=pla.plane[i+1].way;
             strcpy(pla.plane[i].time,pla.plane[i+1].time);
              pla.plane[i].men=pla.plane[i+1].men;
              pla.plane[i].money=pla.plane[i+1].money;
            }
            pla.last=pla.last-1;
            printf("\n\n\tshujuyijingshanchu,anhuichehuizhucaidan...");
            getche();
            mainmenu();
            break;
    case 2 :mainmenu();break;
    default : printf("\n\n\tcuowu!    qingchongxinxuanze... ") ; goto  label3;
}
}
void  planesearch()
{int a;
printf("\n\tqingshuruhangbanhao...");
scanf("%d",&a);
plasearch(a);
}
int plasearch(int planenum1)
{
   int i;
   int bool;
   i=0; bool=0;
   while(bool==0&&i<=pla.last)
      {  if(pla.plane[i].number==planenum1)    /*ruguozhaodaogaihangban,ze shuchuhangbanziliao*/
         {printf("nishurudehangbanhaoyijingzhaodao,ziliaoruxia:\n");
          printf("qifeigang:%s\ndaodagang:%s\nqifeishijian:%s\ndaodashijian:%s\nchengkedinger:%d\nfeixinggudingshijian:%s\npiaojia:%d\n\n",
                          pla.plane[i].startpoint,pla.plane[i].endpoint,pla.plane[i].starttime,pla.plane[i].endtime,pla.plane[i].peoplenum,pla.plane[i].time,pla.plane[i].money);
          bool=1;
          return(i);
         }
        i++;
      }
        if(bool==0) {printf("ninshurudehangbanhaobucunzai!"); return(0);}

}

void namesearch()
{
struct passenger *p;
char name1[20];
       int i,j=1;
        int bool;
        printf("qingshuruninxiangyaochaxundechengkedemingzi: ");
        scanf("%s",name1);
        bool=0;
        for(i=1;i<=pla.last;i++)
          { p=pla.plane[i].men;
            while(p!=NULL)
            { if(strcmp(p->name,name1)==0)
                {printf("di%2dgemingwei %s dechengkeziliaowei:\n shenfenzhenghaoma: %s\ndingpiaoriqi: %s\nhangbanhao: %d\nzuoweihao: %s\n",
                 j,name1,p->ID,p->time,pla.plane[i].number,p->seatnum);
                 j=j+1;
                bool=1;
                }
               p=p->next;
            }
                /*ruguomeiyouchadao*/
         }
     if(bool==0) printf("suoyouhangbanjunwucichengke!");
      printf("anhuichejianhuidaozhucaidan...");getche();mainmenu();
}

void datesearch()
{
char date1[20];
          int i,j=1;
          printf("qingshuruninyaochaxundehangbanqifeishijian: ");
          scanf("%s",date1);
                for(i=0;i<=pla.last;i++)
                  if(strcmp(pla.plane[i].starttime,date1)==0)
                   {printf("di%2dgeqifeishijianwei%s dehangbanziliaoruxia:\nhangbanhao:%d\nqifeigang:%s\ndaodagang:%s\nqifeishijian%s\ndaodashijian%s\nchengkedinger:%d\ngudingfeixingshijian:%s\npiaojia:%d\n\n",
                                        j,date1,pla.plane[i].number,pla.plane[i].startpoint,pla.plane[i].endpoint,pla.plane[i].starttime,pla.plane[i].endtime,pla.plane[i].peoplenum,pla.plane[i].time,pla.plane[i].money);
                        j=j+1;
                   }
                   /*ruguomeichadao*/
        if(j==1)  printf("meiyouqifeishijianwei%sdehangban",date1);
}

void addresssearch()
{
  int i;
   int a;
  int  j=1;
   char startpoint1[20],endpoint1[20];
  cleardevice();
  printf("\n\t1 an qifeigangchaxun");
  printf("\n\n\n\t2andaodagangchaxun\n");
  printf("\n\n\tqingxuanzeyizhonggongneng...");
label3 :  scanf("%d",&a);
  switch(a)
  {
    case  1:
                 i=0;
                printf("\n\tqingshuruqifeigangmingcheng...");
                 scanf("%s",startpoint1);
                for(i=0;i<=pla.last;i++)
                  if(strcmp(pla.plane[i].startpoint,startpoint1)==0)
                   {printf("di%2dgeqifeigangwei%s de hang banziliaoruxia:\nhangbanhao:%d\n qifeigang:%s\ndaodagang:%s\nqifeishijian%s\n daodashijian%s\nchengkedinger:%d\ngudingfeixingshijian:%s\npiaojia:%d\n\n",
                                        j,startpoint1,pla.plane[i].number,pla.plane[i].startpoint,pla.plane[i].endpoint,pla.plane[i].starttime,pla.plane[i].endtime,pla.plane[i].peoplenum,pla.plane[i].time,pla.plane[i].money);
                        j=j+1;
                   }
                   /*ruguomeiyouchadao*/
                   if(j==1)  printf("meiyouqifeigangwei%sdehangban",startpoint1);
                    printf("\n\t an hui che jian hui zhu cai dan...");getche();mainmenu();break;
    case  2:    i=0;
                printf("\n\tqingshurudaodagangmingcheng...");
                 scanf("%s",endpoint1);
                for(i=0;i<=pla.last;i++)
                  if(strcmp(pla.plane[i].endpoint,endpoint1)==0)
                   {printf("di %2d ge dao da gang wei %s de hang ban zi liaoruxia:\n hang ban hao:%d\n qifeigang:%s\n daodagang:%s\n qifeishijian%s\n daodashijian:%s\n chengkedinger:%d\n gu ding fei xingshijian:%s\n piaojia:%d\n\n",
                                        j,endpoint1,pla.plane[i].number,pla.plane[i].startpoint,pla.plane[i].endpoint,pla.plane[i].starttime,pla.plane[i].endtime,pla.plane[i].peoplenum,pla.plane[i].time,pla.plane[i].money);
                        j=j+1;
                   }
                   /*ru guo mei you cha dao */
        if(j==1)  printf("mei you dao da gang wei %s de hang ban",endpoint1);
         printf("\n\t an hui che hui zhu cai dan ...");getche();mainmenu();break;
     default : printf("\n\n\t cuo wu !    qing chong xin xuan ze... ");  goto  label3;
  }
}

void bounced()
{char ID[20];
  int t;
  int m;
struct passenger *p1,*p2;
printf("\n\t qing shu ru tui piao hang ban de hang ban hao :");
scanf("%d",&t);
m=plasearch(t);
printf("%d %s",m,pla.plane[m].men->ID);
if(m==0) {printf("\n wu ci hang ban,an hui che hui dao zhu cai dan..."); getche(); mainmenu();}
printf("\n\t qing shu ru shen fen zheng hao: ");
scanf("%s",ID);
   p1=pla.plane[m].men;
   while(strcmp(ID,p1->ID)!=0 && p1->next!=NULL)
        {p2=p1;p1=p1->next;}
   if (strcmp(ID,p1->ID)==0)
         {if(p1==pla.plane[m].men) pla.plane[m].men=p1->next;
         else p2->next=p1->next;
         printf("shan chu : %s\n\n\t",ID);
         compare(m);
         printf("\n\t an hui che hui dao zhu cai dan...");
         getche();
         mainmenu();
         }
   else {printf("\n\t wu ci cheng ke ,an hui che hui zhu cai dan ..."); getche();mainmenu();}
}
void compare(int x)
{int m;
char s1[20],s2[20];
printf("\n\tqing shu ru tui piao shi jian:");
scanf("%s",s1);
strcpy(s2,pla.plane[x].starttime);
   if (strcmp(s2,s1))
         m=(int)(pla.plane[x].money)*(0.8);
   else  m=0;
   printf("fan huan jin er%d",m);
   }
void save()
{
FILE *fp;
int i;
if ((fp=fopen("cun.c","wb"))==NULL)
          {
          printf("can not open file!\n");
          return;
          }
for (i=0;i<SIZE;i++)
  if(fwrite(&pla,sizeof(struct planelist),1,fp)!=1)
        printf("file write error\n");
}
void load()
{FILE *fp;
int i;
if((fp=fopen("cun.c","rb"))==NULL)
          {
          printf("can not open infile\n");
          return;
          }
          for (i=0;i<SIZE;i++)
                if(fread (&pla,sizeof(struct planelist),1,fp)!=1)
                  {
                  if(feof(fp))
                  return;
                  printf("file read error\n");
                  }
}

⌨️ 快捷键说明

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