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

📄 定票.c

📁 这是我的课程设计,飞机订票系统.内容包括录入航班,查询某个航线的情况,输入起飞抵达城市
💻 C
字号:
                                              #include<stdio.h>
#include<conio.h>
#include<string.h>
#include<bios.h>




struct flight
{int num;
 char start[20];
 char arrv[20];
 char city1[20];
 char city2[20];
 int   price;
 int  discount;
 int   ticket;
 int   booked;
 
}f[20];

struct ticket
{char cname[10];
 char cnum[20];
 int  fnum;
 int  tnum;
 char code[10];
 
 }t[100];


int n,m=0;

main()
{int k;
void input();
void search();
void order();
void cancel();
void modify();
textbackground(BLACK);
clrscr();
printf("|*          order tickets system                   *|\n");
printf("------------*****************************------------\n");

printf("|*          1.input                                *|\n");
printf("|*          2.search                               *|\n");
printf("|*          3.order                                *|\n");
printf("|*          4.cancel                               *|\n");
printf("|*          5.modify                               *|\n");
printf("|*          6.exit                                 *|\n");
printf("------------*****************************------------\n");
printf(" please input the number to enter:\n");
scanf("%d",&k);
switch(k)
{case 1:input();break;
 case 2:search();break;
 case 3:order();break;
 case 4:cancel();break;
 case 5:modify();break;
 case 6:exit(0);break;
 default:break;
}
}




void input()
{int i,j;

FILE *fp;
textbackground(BLACK);
clrscr();m=0;
      printf("             welcome to the input system\n");
printf("-------------***************************-------------\n");
printf(" please input the number of flight:\n");
scanf("%d",&n);


for(i=0;i<n;i++)
{
printf("input the %d informiation\n",i+1);
printf("flight NO.:\n");
scanf("%d",&f[i].num);
printf("input start  time\n");
scanf("%s",f[i].start);
printf("input arrive time\n");
scanf("%s",f[i].arrv);
printf("input start  city\n");
scanf("%s",f[i].city1);
printf("input arrive city\n");
scanf("%s",f[i].city2);
printf("input price\n");
scanf("%d",&f[i].price);
printf("input ticketnumber\n");
scanf("%d",&f[i].ticket);
printf("input discount\n");
scanf("%d",&f[i].discount);
f[i].booked=0;
}
fp=fopen("d:\\fly.txt","w");
for(i=0;i<n;i++)
if(fwrite(&f[i],sizeof(struct flight),1,fp)!=1)
printf("file write error\n");
fclose(fp);
getch();main();}



void search()
{char c,r[20],q[20];
int i,p,k,h=0;
FILE *fp;

textbackground(BLACK);
clrscr();
if((fp=fopen("d:\\fly.txt","r"))==NULL)
{printf("can't open the file\n");exit(0);}
 printf("             this is  the serach system\n");
printf("-------------***************************-------------\n");
printf("1.search by flight number\n");
printf("2.search by start and arrive city\n");
printf(" please input the number to enter\n");
c=getch(); printf("%c\n",c);
if(c=='1')
{printf("input the flight NO.\n");
scanf("%d",&k);
for(i=0,p=0;i<n;i++)
  {if(k==f[i].num) {p=1;break;}}
    if(p==0) printf("sorry,there are no this plan");
for(i=0;i<n;i++)
{if(k==f[i].num)
{printf("\nstart     time :%s",f[i].start);
 printf("\narrive    time :%s",f[i].arrv);
 printf("\nstart     city :%s",f[i].city1);
 printf("\narrive    city :%s",f[i].city2);
 printf("\nflight    price:%d",f[i].price);
 printf("\nflight discount:%d",f[i].discount);
 if(f[i].ticket>f[i].booked)
 printf("\ntickets   left :%d\n",f[i].ticket-f[i].booked);
 if(f[i].ticket==f[i].booked) 
printf("there is no flight NO.;%d\n",k);
 break;
}
}
}

if(c=='2')
{h=0;
printf("\nstart  city:");

scanf("%s",r);
printf("\narrive city:");
scanf("%s",q);
for(i=0;i<n;i++)
{if(strcmp(r,f[i].city1)==0&&strcmp(q,f[i].city2)==0)
{printf("\nflight    NO.  :%d",f[i].num);
 printf("\nstart     time :%s",f[i].start);
 printf("\narrive    time :%s",f[i].arrv);
 printf("\nstart     city :%s",f[i].city1);
 printf("\narrive    city :%s",f[i].city2);
 printf("\nflight    price:%d",f[i].price);
 printf("\nflight discount:%d",f[i].discount);
 if(f[i].ticket>f[i].booked)
 printf("\ntickets   left :%d\n",f[i].ticket-f[i].booked);
 else 
 printf("\nthere is no ticket left\n");h=1;}}
if(h==0)printf("\nthere is no flight from %s to %s\n",r,q);}

printf("\ncontiue?y/n");
c=getch();  printf("%c",c);
if(c=='y')search();
if(c=='n'){fclose(fp);getch();main();}
}



void order()
{int k,p,i,j=0;
char r[20],q[20],c;
FILE *fp;
textbackground(BLACK);
clrscr();

if((fp=fopen("d:\\fly.txt","rb+"))==NULL)
{printf("can't open the file\n");exit(0);}
         printf("             this is  the order system\n");
printf("-------------***************************-------------\n");
printf("input flight NO.:\n");
scanf("%d",&k);
for(i=0;i<n;i++)
{
if(f[i].ticket>f[i].booked&&k==f[i].num)
{
printf("there are %d tickets left\n",f[i].ticket-f[i].booked);
printf("\nclient  name:");
scanf("%s",t[m].cname);
printf("\nclient  ID  :");
scanf("%s",t[m].cnum);
printf("\nticket  code:");
scanf("%s",t[m].code);
printf("\nticket number:");
scanf("%d",&t[m].tnum);
     t[m].fnum=k;
         if(t[m].tnum>f[i].ticket-f[i].booked) {printf("sorry,there are no enough ticket");
          printf("\nyou can write you order your tickets number again \n");j=1;}

else{f[i].booked+=t[m].tnum;
if(fwrite(&t[m],sizeof(struct ticket),1,fp)!=1)
printf("file write error\n");m++;j=1;
printf("\nsucess to order\n");break;  }
}}
if(j==0)
{printf("sorry,there are no tickets,please change another flight\n"); printf("continue?y/n"); c=getch();
if(c=='y') {
printf("\ninput start  city:");
scanf("%s",r);
printf("\ninput arrive city:");
scanf("%s",q);
for(i=0;i<n;i++)
{if(strcmp(r,f[i].city1)==0&&strcmp(q,f[i].city2)==0&&f[i].ticket>f[i].booked)
{
printf("there are %d tickets left in flight NO.:%d\n",f[i].ticket-f[i].booked,f[i].num);
printf("\nclient  name:");
scanf("%s",t[m].cname);
printf("\nclient  ID  :");
scanf("%s",t[m].cnum);
printf("\nticket  code:");
scanf("%s",t[m].code);
printf("\nticket number:");
scanf("%d",&t[m].tnum);

t[m].fnum=f[i].num;

f[i].booked+=t[m].tnum;

if(fwrite(&t[m],sizeof(struct ticket),1,fp)!=1)
printf("file write error\n");m++;
printf("\nsucess to order\n");break;
}}
if(i==n)printf("\nnot ticket from city:%s to city:%s\n",r,q);}  if(c=='n'){fclose(fp);getch();main();}}
printf("contiue?y/n");c=getch();  printf("%c",c);
if(c=='y')order();
if(c=='n'){fclose(fp);getch();main();}

}



void cancel()
{int k,p,i,j;
char c='n',r[10];
FILE *fp;
textbackground(BLACK);
clrscr();

if((fp=fopen("d:\\fly.txt","rb+"))==NULL)
{printf("can't open the file\n");exit(0);}
printf("         the cancel system\n");
printf("---------***************---------\n");
printf("please input flight NO. : \n");
scanf("%d",&k);
printf("please input the ticket code to cancel:");
scanf("%s",r);

for(i=0;i<m;i++)
{

if(t[i].fnum==k&&strcmp(t[i].code,r)==0)
{
 printf("\nclient    name :%s",t[i].cname);
 printf("\nclient    ID   :%s",t[i].cnum);
 printf("\nticket  number :%d",t[i].tnum);
 printf("\nticket number to cancel:(<=%d)",t[i].tnum);
  scanf("%d",&j);if(j>t[i].tnum) {printf("\nsorry,your cancel wrong,must <=%d",t[i].tnum);
printf("do you want to continue?y/n");goto end;}
else {for(p=0;p<n;p++)
if(f[p].num==t[i].fnum)f[p].booked-=j;
if(j<t[i].tnum)t[i].tnum-=j;
else
{t[i]=t[m-1];
m-=1;}


c='y';
break;
}}  }
if(c=='y')printf("sucess to cancel \n");
if(c=='n')printf("no the ticket\n");
printf("contiue?y/n");

end:c=getch(); printf("%c",c);
if(c=='y')cancel();
if(c=='n'){fclose(fp);getch();main();}
}



void modify()
{char c;
int k,i,j,h,r;
FILE *fp;

textbackground(BLACK);
clrscr();
if((fp=fopen("d:\\fly.txt","r+"))==NULL)
{printf("can't open the file\n");exit(0);}
printf("         the modify system\n");
printf("---------***************---------\n");
printf("1.modify one flight information\n");
printf("2.add a flight\n");
printf("3.cancel a flight\n");
printf("---------***************---------");
printf("\ninput the number to enter\n");
c=getch();   printf("%c",c);

if(c=='1')
{printf("input the flight number\n");
scanf("%d",&k);
for(i=0;i<n;i++)
{if(f[i].num==k)
{printf("find the flight\n");

printf("\nstart  time : ");
scanf("%s",f[i].start);
printf("\narrive time :");
scanf("%s",f[i].arrv);
printf("\nflight price:");
scanf("%d",&f[i].price);
printf("\nflight discount:");
scanf("%d",&f[i].discount);

break;}
}
if(i==n)printf("can't find the flight\n");
}


if(c=='2')
{h=0;
printf("input the flight number\n");
scanf("%d",&f[n].num);
for(i=0;i<n;i++){if(f[n].num==f[i].num){h=1;break;}}
if(h==0)
{printf("\ninput start  time:");
scanf("%s",f[n].start);
printf("\ninput arrive time:");
scanf("%s",f[n].arrv);
printf("\ninput start  city:");
scanf("%s",f[n].city1);
printf("\ninput arrive city:");
scanf("%s",f[n].city2);
printf("\ninput price:");
scanf("%d",&f[n].price);
printf("\ninput ticketnumber:");
scanf("%d",&f[n].ticket);
printf("\ninput discount:");
scanf("%d",&f[n].discount);
f[n++].booked=0;
if(fwrite(&f[n-1],sizeof(struct flight),1,fp)!=1)
printf("file write error\n");

}
if(h==1)printf("the flight exist\n");}



if(c=='3')
{printf("input the flight number\n");
scanf("%d",&k);
h=0;
for(i=0;i<n;i++)
{if(f[i].num==k)
{printf("find the flight\n");

for(j=0;j<m;j++)
{if(t[j].fnum==k)
for(r=j;r<m-1;r++)t[r]=t[r+1];}
m-=f[i].booked;f[i]=f[n-1];
n--;h=1;
printf("cancel the flight\n");break;
}
}
if(h==0)printf("can't find the flight\n");
}
printf("contiue?y/n\n");
c=getch(); printf("%c",c);
if(c=='y')modify();
if(c=='n'){fclose(fp);getch();main();}
}



⌨️ 快捷键说明

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