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

📄 数据结构程序设计.txt

📁 航空订票的实现以及查询,根据姓名,地址.时间等
💻 TXT
📖 第 1 页 / 共 2 页
字号:
#include <dos.h>
#include <string.h>
#include <stdio.h>
#include <graphics.h>
#include <fcntl.h>
#include <stdlib.h>
#define   SIZE 20
void mainmenu();
void welcome();
void gotoxy();
void book();
void bounced();
void compare();
void search();
void manage();
void exit_file();
void save();
void load();
void dele();
void add();
void f1();
void f2();
void planesearch();
int  plasearch(int a);
void namesearch();
void datesearch();
void addresssearch();
void add1(int x,int y);
struct address
{char  addname[20];
struct address *next;
};
struct passenger
{char name[20];
char ID[20];
char time[20];
char company[20];
int  planenum;
char  seatnum[5];
struct passenger *next;
};
struct planetype
{int number;
char startpoint[20];
char endpoint[20];
char starttime[20];
char endtime[20];
int ticket;
int  peoplenum;
struct address *way;
char time[10];
struct passenger *men;
struct passenger *end;
int  money;
};
struct planelist
{struct planetype plane[SIZE];
int last;
};
struct planelist pla;
main()
{
int gmode,chose0,gdriver=DETECT;
int i;
pla.last=0;
load();
registerbgidriver(DETECT);
initgraph(&gdriver,&gmode,"");
welcome();
mainmenu();
closegraph();
}

void welcome()
{
setbkcolor(BLUE);
cleardevice();
setcolor(12);
gotoxy(225,80);
printf("feijidingpiaoxitong");
gotoxy(225,20);
printf("huanyingshiyong");
gotoxy(305,140);
printf("press enter to continue");
setlinestyle(0,0,3);
rectangle(1,0,637,479);
rectangle(150,60,460,200);
getchar();
}

void mainmenu()
{int a;
setbkcolor(LIGHTBLUE);
cleardevice();
setcolor(BLACK);
gotoxy(40,40);
printf("1:    feijidingpiaofuwu");
gotoxy(40,40);
printf("2:     feijituipiaofuwu");
gotoxy(40,40);
printf("3:     feijichaxunfuwu");
gotoxy(40,40);
printf("4:     feixingguanlifuwu");
gotoxy(40,40);
printf("5:    tuichuguanlixitong");
gotoxy(40,160);
printf("qingxuanzeyizhonggongneng:  ");
loop : scanf("%d",&a);
switch(a)
{case 1 :  book();break;
case 2 :  bounced();break;
case 3 :  search();break;
case 4 :  manage(); break;
case 5 :  exit_file();break;
default :  printf("cuowu !  qingchongxinxuanzegongneng:");goto loop;
}
}

void gotoxy(int x,int y)
{int i;
for(i=0;i<(y/19);i++)
printf("\n");
for(i=0;i<(x/72+1);i++)
printf("\t");
}

void book()
{int m,n,i,k,c;
int pnum;
char ch[20];
cleardevice();
printf("      \t\t\t  huanyingjinrufeijidingpiaoxitong                         ");
gotoxy(0,200);
printf("\n\tqingshuruyudingjipiaodehangbanhao: ");
scanf("%d",&pnum);
k=plasearch(pnum);
if(k==0) {printf("\nanhuichehuizhucaidan...");getche();mainmenu(); }
n=pla.plane[k].ticket;
if (n==0) {
            printf("\n\n jipiaoyishouwan.\n\n\n shifouxuyaodingpiao? \n ");
            printf("\n 1.shi");
            printf("\n 2.fou");
            printf("\nqingxuanze :");
            scanf("%d",&c);
            if (c==2) {
                       printf("qinganhuichefanhui:");
                       getchar();
                       mainmenu();
                      }
            if (c==1) {
                       printf("\n qingshuruxuyaodejipiaoshu:");
                       scanf("%d",&m);
                       printf("\n\n\tshengyujipiaoshuwei:%d",n);
                       add1(k,m);
                       n=n-m;
                       pla.plane[k].ticket=n;
                      }
         }
       else         {
                       printf("\n\tqingshuruxuyaodejipiaoshu:");
                       scanf("%d",&m);
                       if (n>=m) {
                                  printf("\n\n\t piaojiawei:%d",pla.plane[k].money);
                                  printf("\n\n\t shengyupiaoshuwei:%d",n);
                                  add1(k,m);
                                  n=n-m;
                                  pla.plane[k].ticket=n;
                                  printf("\nqinganhuichefanhuizhucaidan:");
                                  getche();
                                  mainmenu();
                                 }
                        else  {
                              printf("\nbencihangbanshengxupiaoshu: %d ",n);
                              printf("\n\n qingwenshifoudingpiao?\n ");
                              printf("\n 1.shi\n");
                              printf("\n 2.fou\n");
                              printf("\nqingxuanze :" );
                              scanf("%d",&c);
                              if (c==2) {
                                         printf("anhuichefanhui:");
                                         getchar();
                                         mainmenu();
                                        }
                              if (c==1) {
                                         printf("\n\n\t jipiaoshengxushu:%d",n);
                                         add1(k,m);
                                         n=n-m;
                                         pla.plane[k].ticket=n;
                                         printf("dingpiaoyichenggong.anhuichehuizhucaidan");
                                         getche();
                                         mainmenu();
                                        }
                             }
             }
getche();
}

void add1(int k,int m)
{int i;
struct passenger *p;
for (i=1;i<=m;i++)
{
p=malloc(sizeof(struct passenger) );
printf("\n\n\t qingshurunindexingming:");
   scanf("%s",p->name);
printf("\n\n\t qingshuruninde id hao:");
   scanf("%s",p->ID);
printf("\n\n\t qingshuruninsuozaidedanwei:");
   scanf("%s",p->company);
printf("\n\n\tqingshurunindezuoweihao:");
   scanf("%s",p->seatnum);
printf("\n\n\t qingshurunindedingpiaoshijian:");
   scanf("%s",p->time);
p->planenum=k;
if (pla.plane[k].men==NULL)
    {pla.plane[k].men=p;pla.plane[k].end=p;p->next=NULL;
    }
else {
      pla.plane[k].end->next=p;
      pla.plane[k].end=p;
      p->next=NULL;
      }
}
}
void search()
{
int b;
cleardevice();
setbkcolor(1);
printf("\t1 :   anhangbanhaochaxun  \n\n");
printf("\t2 :     anchengkexingmingchaxun\n\n");
printf("\t3 :     anriqichaxun\n\n");
printf("\t4 :    anqifeigang,daodagangchaxun\n\n");
printf("\n\n\t     qingxuanzeyizhonggongneng  :  ");
label1: scanf("%d",&b);
switch(b)
{case 1  :  planesearch();break;
case 2  :  namesearch();break;
case 3  :  datesearch();break;
case 4  :  addresssearch();break;
default :  printf("\t    cuowu! qingchongxinxuanzeyizhonggongneng :  "); goto label1;
}
printf("anhuichehuizhucaidan...");
getche();
mainmenu();
}

void manage()
{
int b ;
cleardevice();
setbkcolor(BLUE);
printf("\t1 :     hangbanjibenqingkuangchaxun\n\n");
printf("\t2 :     moutianhangbanfeixingqingkuangguanli\n\n");
printf("\t3 :     jinqihangbanfeixingqingkuangguanli\n\n");
printf("\t4 :    xinzenghangban\n\n");
printf("\t5 :     quxiaohangban\n\n");
printf("\n\n\t     qingshuruyizhonggongneng :  ");
label1: scanf("%d",&b);
switch(b)
{case 1  :  search();break;
case 2  :  f1();break;
case 3  :  f2();break;
case 4  :  add();break;
case 5  :  dele();break;
default :  printf("\t    cuowu!    qingxuanzeyizhonggongneng :  "); goto label1;
}
printf("\nanhuichehuizhucaidan...");
getche();
mainmenu();
}

void exit_file()
{
int c;
cleardevice();
printf("           \n\n\t\t\t\thuanyingjinrutuichuxitong\n\n\n\n");
gotoxy(0,80);
printf("tuichubingbaocunan:1+huiche!\n\n \tfanhuizhucaidan:2+huiche!...");
scanf("%d",&c);
if(c==1)
{
save();
exit(0);
}
  if(c==2)
{ mainmenu();}
}

void f1()
{
char a[20];
int i,j=1;
int bool=0;
struct passenger *p;
printf("qingshuruninyaochaxunderiqi..");

⌨️ 快捷键说明

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