📄 数据结构程序设计.txt
字号:
#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 + -