【简介:】本篇文章给大家谈谈《飞机票预订系统程序》对应的知识点,希望对各位有所帮助。本文目录一览:
1、Java,飞机订票系统
2、飞机订票系统设计
3、请教大神,数据库飞机票预定系统
本篇文章给大家谈谈《飞机票预订系统程序》对应的知识点,希望对各位有所帮助。
本文目录一览:
Java,飞机订票系统
链接:v(括号里不是链接)iew-so(括号里不是链接)(括号里不是链接)urce:ht(括号里不是链接)tp://(括号里不是链接)ww(括号里不是链接)w.a(括号里不是链接)irch(括号里不是链接)ina(括号里不是链接).co(括号里不是链接)m.cn(括号里不是链接)/?ci(括号里不是链接)d=(括号里不是链接)GN-buy(括号里不是链接):20130221:SEM:Baidu:CHN:00(括号里不是链接)0120|fc=(括号里不是链接)k91(括号里不是链接)8988499.a151793471.u933021.pb
飞机订票系统设计
#include stdio.h
#include string.h
#include conio.h
#include ctype.h
#include stdlib.h
#include malloc.h
#include math.h//overflow
#define ok 1
typedef struct Yidingkehu
{//单链表
char name[15];//已订票的客户姓名
int dingpiaoshu;//已订票数量
struct Yidingkehu *next1;//
}Yidingkehu,*Link;
typedef struct Weidingkehu
{//单链队
char name[15];//预订票的客户姓名
int yudingpiao;// 要订票数量
struct Weidingkehu *next2;//下一个链队结点指针
}Weidingkehu,*Qptr;
typedef struct Hangxian
{//创建一个含有六个信息的结构体
char hangbanhao[15];//航班号-
char feijihao[15];//飞机号
int feixingriqi;//起飞时间
int chenkerenshu;//座位数
int yupiao;//余票
char zhongdianzhai[15];//降落城市
struct Hangxian *next;//指向下一个链结点的指针
struct Yidingkehu *yiding;//定义一个指向已订票客户的头结点指针
struct Weidingkehu *yudingqueue;
}Hangxian,*Linklist;
Linklist InitLinklist();//01
int InsertLinklist(Linklist head1);//02
void hbhchaxun();//通过航班号查询
void mddchaxun();//通过目的地查询
void lurugongneng();//初始化录入功能
void chaxungongnen();//查询功能
void dingpiaogongnen();//订票功能
void tuipiaogongnen();//退票功能
void main()
{
int n;
do{ //打印主界面
printf("\t 欢迎使用航空客运订票系统\n");
printf("\t+++++++++++++++++++++++++++++\n");
printf("\t==1. 录入功能 ==\n");
printf("\t==2. 查询功能 ==\n");
printf("\t==3. 订票功能 ==\n");
printf("\t==4. 退票功能 ==\n");
printf("\t==5. 退出 ==\n");
printf("\t+++++++++++++++++++++++++++++\n");
printf("\t请选择:");
scanf("%d",n);printf("\n");
switch(n)
{
case 1: lurugongneng();//录入功能
break;
case 2: chaxungongnen();//查询功能
break;
case 3: dingpiaogongnen();//订票功能
break;
case 4:tuipiaogongnen();//退票功能
break;
default :exit(0);//退出
}
}while(n==1||n==2||n==3||n==4);
}
void lurugongneng()//初始化的单链表*********************************************************录入功能
{
Linklist p;
//int m,n;
if(!p) exit(OVERFLOW);
printf("\t请依次输入下面几项内容:\n\n");//这里的输入采用一个个单独输入,避免了乱赋值的现象
printf("航班号\n");
gets(p-hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车
gets(p-hangbanhao);
printf("飞机号\n");
gets(p-feijihao);
printf("终点站\n");
gets(p-zhongdianzhai);
printf("飞行日期\n");
scanf("%d",p-feixingriqi);
printf("乘客总数\n");
scanf("%d",p-chenkerenshu);
printf("余票数\n");
scanf("%d",p-yupiao);
}
void chaxungongnen()//******************************************************************查询功能
{
int n;
printf("\t 查 找 航 线 信 息 \n");
printf("\t+++++++++++++++++++++++++++++\n");
printf("\t==1. 通过目的地查询 ==\n");
printf("\t==2. 通过航班号查询 ==\n");
printf("\t+++++++++++++++++++++++++++++\n");
printf("\t请选择:");
scanf("%d",n);
printf("\n");//格式化
switch(n)
{
case 1:mddchaxun();
break;
case 2:hbhchaxun();
break;
default :break;
}
}
void mddchaxun()//通过目的地查询
{
char c[15];
int m;
Linklist p=L;
printf("\t请输入要查询的目的地:");
gets(c);
gets(c);//原因同上
do{
p=p-next;
if(p)
{
m=strcmpi((*p).zhongdianzhai,c);//如果==的话则m=0;
if(m==0)
{
printf("\t航班信息:\n");
printf("\t航班号:%s\n",p-hangbanhao);
printf("\t飞机号:%s\n",p-feijihao);
printf("\t飞行时间:周%d\n",p-feixingriqi);
printf("\t余票量:%d\n",p-yupiao);
}
}
else
{//如果不匹配的话就做
printf("\t对不起没有你要找的目的地:\n\n"); m=0;
}
}while(m!=0);
}
void hbhchaxun()//通过目的地查询
{
char c[15];
int m;
Linklist p=L;
printf("\t请输入要查询的航班号:");
gets(c); gets(c);printf("\n");
do{
p=p-next;
if(p)
{
m=strcmpi((*p).hangbanhao,c);//如果==的话则m=0;这里的(*p).与p-的作用是一样的
if(m==0)
{
printf("\t航班信息:\n");
printf("\t航班号:%s\n",p-hangbanhao);
printf("\t飞机号:%s\n",p-feijihao);
printf("\t飞行时间:周%d\n",p-feixingriqi);
printf("\t余票量:%d\n\n",p-yupiao);
}
}
else
{//如果不匹配的话就做
printf("\t对不起没有你要找的航班号:\n"); m=0;
}
}while(m!=0);
}
void dingpiaogongnen()//***************************************************************订票功能
{
char c[15];
int m=1,piao,ydpiao=0,yd=0,n;//
gets(c);
printf("请输入终点站名:"); gets(c); printf("\n");
p=L-next;
if(p) {
do{//查找一下,是否有这个航班
if(!p)
{
printf("对不起,没有你要找的航班:\n\n");
goto loop1;
}
m=strcmpi(p-zhongdianzhai,c);
if(m==0)
{
printf("航班信息:\n");
printf("航班号:%s\n",p-hangbanhao);
printf("飞机号:%s\n",p-feijihao);
printf("飞行时间:周%d\n",p-feixingriqi);
printf("余票量:%d\n",p-yupiao);}
else p=p-next;
}while(m!=0);
if(m==0)
{
do{
printf("\n请输入你要订的票数:"); scanf("%d",piao);
if(piao=p-yupiao)
{
h=p-yiding;
if(h)
{
h1=h;
h=h-next1;
h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));
printf("请输入你的名字:");
gets(h-name);gets(h-name);
h-dingpiaoshu=piao;
h-next1=h1-next1;
h1-next1=h;
p-yupiao=p-yupiao-piao;
printf("订票成功:\n"); m=2;
}
}
else
{
printf("余票量:%d\n",p-yupiao);
printf("对不起,余票 %d 张不足,不能完成订票\n\n",p-yupiao);
printf(" 是否要重新订票?\n");
printf("需要请输入1 否则请按2 预订请输入3 : ");
scanf("%d",m);
printf("\n");
if(m==3) goto loop3;
}
}while(m==1);
}
}
else if(!p)
{
loop3: struct Weidingkehu *q3;
printf("对不起,该航班的票已售完\n");
q.front=p-yudingqueue;
if(q.front==q.rear) printf("没有人预订票,是否要预订?\n");
else if(q.front!=q.rear) printf("已有人预订票,是否要预订?\n");
printf("预订请输入1 否则输入2 : ");
scanf("%d",n);
printf("\n");
if(n==1)
{
printf("请输入你的姓名"); gets(q3-name); gets(q3-name);//q3不能指向name???
printf("请输入订票数"); scanf("%d",q3-yudingpiao);
q3-next2=NULL;
q.rear-next2=q3;
q.rear=q3;
printf(" 你已经预订了 !\n");
}
}
loop1:;
}
void tuipiaogongnen()//***************************************************************退票功能
{
}
以上回答你满意么?
请教大神,数据库飞机票预定系统界面具体怎么做
1、每个航班信息的输入。
2、每个航班的坐位信息的输入;
3、当旅客进行机票预定时,输入旅客基本信息,系统为旅客安排航班,打印取票通知和帐单;
4、旅客在飞机起飞前一天凭取票通知交款取票;
5、旅客能够退订机票;
6、能够查询每个航班的预定情况、计算航班的满座率。
C语言程序写飞机订票系统
#include stdio.h
#include string.h
#include conio.h
#include ctype.h
#include stdlib.h
#include malloc.h
#include math.h//overflow
#define ok 1
typedef struct Yidingkehu
{//单链表
char name[15];//已订票的客户姓名
int dingpiaoshu;//已订票数量
struct Yidingkehu *next1;//
}Yidingkehu,*Link;
typedef struct Weidingkehu
{//单链队
char name[15];//预订票的客户姓名
int yudingpiao;// 要订票数量
struct Weidingkehu *next2;//下一个链队结点指针
}Weidingkehu,*Qptr;
typedef struct Hangxian
{//创建一个含有六个信息的结构体
char hangbanhao[15];//航班号-
char feijihao[15];//飞机号
int feixingriqi;//起飞时间
int chenkerenshu;//座位数
int yupiao;//余票
char zhongdianzhai[15];//降落城市
struct Hangxian *next;//指向下一个链结点的指针
struct Yidingkehu *yiding;//定义一个指向已订票客户的头结点指针
struct Weidingkehu *yudingqueue;
}Hangxian,*Linklist;
Linklist InitLinklist();//01
int InsertLinklist(Linklist head1);//02
void hbhchaxun();//通过航班号查询
void mddchaxun();//通过目的地查询
void lurugongneng();//初始化录入功能
void chaxungongnen();//查询功能
void dingpiaogongnen();//订票功能
void tuipiaogongnen();//退票功能
void main()
{
int n;
do{ //打印主界面
printf("\t 欢迎使用航空客运订票系统\n");
printf("\t+++++++++++++++++++++++++++++\n");
printf("\t==1. 录入功能 ==\n");
printf("\t==2. 查询功能 ==\n");
printf("\t==3. 订票功能 ==\n");
printf("\t==4. 退票功能 ==\n");
printf("\t==5. 退出 ==\n");
printf("\t+++++++++++++++++++++++++++++\n");
printf("\t请选择:");
scanf("%d",n);printf("\n");
switch(n)
{
case 1: lurugongneng();//录入功能
break;
case 2: chaxungongnen();//查询功能
break;
case 3: dingpiaogongnen();//订票功能
break;
case 4:tuipiaogongnen();//退票功能
break;
default :exit(0);//退出
}
}while(n==1||n==2||n==3||n==4);
}
void lurugongneng()//初始化的单链表*********************************************************录入功能
{
Linklist p;
//int m,n;
if(!p) exit(OVERFLOW);
printf("\t请依次输入下面几项内容:\n\n");//这里的输入采用一个个单独输入,避免了乱赋值的现象
printf("航班号\n");
gets(p-hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车
gets(p-hangbanhao);
printf("飞机号\n");
gets(p-feijihao);
printf("终点站\n");
gets(p-zhongdianzhai);
printf("飞行日期\n");
scanf("%d",p-feixingriqi);
printf("乘客总数\n");
scanf("%d",p-chenkerenshu);
printf("余票数\n");
scanf("%d",p-yupiao);
}
void chaxungongnen()//******************************************************************查询功能
{
int n;
printf("\t 查 找 航 线 信 息 \n");
printf("\t+++++++++++++++++++++++++++++\n");
printf("\t==1. 通过目的地查询 ==\n");
printf("\t==2. 通过航班号查询 ==\n");
printf("\t+++++++++++++++++++++++++++++\n");
printf("\t请选择:");
scanf("%d",n);
printf("\n");//格式化
switch(n)
{
case 1:mddchaxun();
break;
case 2:hbhchaxun();
break;
default :break;
}
}
void mddchaxun()//通过目的地查询
{
char c[15];
int m;
Linklist p=L;
printf("\t请输入要查询的目的地:");
gets(c);
gets(c);//原因同上
do{
p=p-next;
if(p)
{
m=strcmpi((*p).zhongdianzhai,c);//如果==的话则m=0;
if(m==0)
{
printf("\t航班信息:\n");
printf("\t航班号:%s\n",p-hangbanhao);
printf("\t飞机号:%s\n",p-feijihao);
printf("\t飞行时间:周%d\n",p-feixingriqi);
printf("\t余票量:%d\n",p-yupiao);
}
}
else
{//如果不匹配的话就做
printf("\t对不起没有你要找的目的地:\n\n"); m=0;
}
}while(m!=0);
}
void hbhchaxun()//通过目的地查询
{
char c[15];
int m;
Linklist p=L;
printf("\t请输入要查询的航班号:");
gets(c); gets(c);printf("\n");
do{
p=p-next;
if(p)
{
m=strcmpi((*p).hangbanhao,c);//如果==的话则m=0;这里的(*p).与p-的作用是一样的
if(m==0)
{
printf("\t航班信息:\n");
printf("\t航班号:%s\n",p-hangbanhao);
printf("\t飞机号:%s\n",p-feijihao);
printf("\t飞行时间:周%d\n",p-feixingriqi);
printf("\t余票量:%d\n\n",p-yupiao);
}
}
else
{//如果不匹配的话就做
printf("\t对不起没有你要找的航班号:\n"); m=0;
}
}while(m!=0);
}
void dingpiaogongnen()//***************************************************************订票功能
{
char c[15];
int m=1,piao,ydpiao=0,yd=0,n;//
gets(c);
printf("请输入终点站名:"); gets(c); printf("\n");
p=L-next;
if(p) {
do{//查找一下,是否有这个航班
if(!p)
{
printf("对不起,没有你要找的航班:\n\n");
goto loop1;
}
m=strcmpi(p-zhongdianzhai,c);
if(m==0)
{
printf("航班信息:\n");
printf("航班号:%s\n",p-hangbanhao);
printf("飞机号:%s\n",p-feijihao);
printf("飞行时间:周%d\n",p-feixingriqi);
printf("余票量:%d\n",p-yupiao);}
else p=p-next;
}while(m!=0);
if(m==0)
{
do{
printf("\n请输入你要订的票数:"); scanf("%d",piao);
if(piao=p-yupiao)
{
h=p-yiding;
if(h)
{
h1=h;
h=h-next1;
h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));
printf("请输入你的名字:");
gets(h-name);gets(h-name);
h-dingpiaoshu=piao;
h-next1=h1-next1;
h1-next1=h;
p-yupiao=p-yupiao-piao;
printf("订票成功:\n"); m=2;
}
}
else
{
printf("余票量:%d\n",p-yupiao);
printf("对不起,余票 %d 张不足,不能完成订票\n\n",p-yupiao);
printf(" 是否要重新订票?\n");
printf("需要请输入1 否则请按2 预订请输入3 : ");
scanf("%d",m);
printf("\n");
if(m==3) goto loop3;
}
}while(m==1);
}
}
else if(!p)
{
loop3: struct Weidingkehu *q3;
printf("对不起,该航班的票已售完\n");
q.front=p-yudingqueue;
if(q.front==q.rear) printf("没有人预订票,是否要预订?\n");
else if(q.front!=q.rear) printf("已有人预订票,是否要预订?\n");
printf("预订请输入1 否则输入2 : ");
scanf("%d",n);
printf("\n");
if(n==1)
{
printf("请输入你的姓名"); gets(q3-name); gets(q3-name);//q3不能指向name???
printf("请输入订票数"); scanf("%d",q3-yudingpiao);
q3-next2=NULL;
q.rear-next2=q3;
q.rear=q3;
printf(" 你已经预订了 !\n");
}
}
loop1:;
}
void tuipiaogongnen()//***************************************************************退票功能
{
}
请采纳答案,支持我一下。
飞机票订票系统 C++
这是以前的课程设计题目,希望你再接再厉 好好学习
#include iostream.h
#include stdio.h
#include string.h
#include conio.h
#define m 4 //3架飞机
#define n 5 //每架飞机5张票
struct node
{
char name[21];
char id[21];
int seat,plane,date;
node *next,*pre;
};
struct wait
{
char name[21];
char id[21];
char phone[8];
int seat,plane,date,count;
wait *next,*pre;
};
struct piao
{
int seat[n+1];
};
void makenull();
void makenull_piao();
void makenull_information();
void list_menu();
void list_piao();
void makenull_wait();
void list_information();
void plane_information(node *head);
void book();
void add_information(node *head,int x,int y);
void add_wait(int x,int y);
void search_delete(int x);
void write_to_file();
void show_wait();
bool comp(node *x,node*y);
node *head1,*head2,*head3,*q;
wait *wait_head,*wait_end;
char c;
piao a[m];
void main()
{
makenull();
do
{ list_menu();
coutendl"choose an operation: ";
cinc;
if (c!='6')
switch(c)
{
case '0' : show_wait();break;
case '1' : {list_piao();book();}break;
case '2' : search_delete(1);break;
case '3' : list_piao();break;
case '4' : list_information();break;
case '5' : search_delete(0);break;
default : break;
}
}while(c!='6');
cout"Exit System ";
}
void makenull()
{
makenull_piao();
makenull_information();
makenull_wait();
}
void list_menu()
{ coutendl"";
coutendl" 菜单";
coutendl" ************************";
coutendl" * 0 . 查看排队情况 *";
coutendl" * 1 . 订票 *";
coutendl" * 2 . 退票 *";
coutendl" * 3 . 查看剩余票 *";
coutendl" * 4 . 查看飞机信息 *";
coutendl" * 5 . 查看乘客信息 *";
coutendl" * 6 . 退出 *";
coutendl" ************************";
coutendl"";
}
void makenull_piao()
{
FILE *fp;
int i;
if((fp=fopen("piao.dat","r")) == NULL )
{
fp=fopen("piao.dat","w");
for (i=1;i=m-1;i++)
fwrite(a[i],sizeof(piao),1,fp);
fclose(fp);
fp=fopen("piao.dat","r");
}
for(i=1;i=m-1;i++)
fread(a[i],sizeof(piao),1,fp);
fclose(fp);
}
void makenull_information()
{
node *r;
FILE *fp;
int i,j,sum;
sum=a[1].seat[0]+a[2].seat[0]+a[3].seat[0];
fp=fopen("information.dat","r");
head1=new node;
head2=new node;
head3=new node;
head1-pre=NULL;
head1-next=NULL;
head2-pre=NULL;
head2-next=NULL;
head3-pre=NULL;
head3-next=NULL;
q=head1;
for(i=1;i=sum;i++)
{
j=0;
r=new node;
fread(r,sizeof(node),1,fp);
q-next=r;
r-pre=q;
r-next=NULL;
q=q-next;
fclose(fp);
if(i==a[1].seat[0]+1) {
head2-next=q;
q-pre-next=NULL;
q-pre=head2;
}
if(i==a[1].seat[0]+a[2].seat[0]+1) {
head3-next=q;
q-pre-next=NULL;
q-pre=head3;
}
}
}
void makenull_wait()
{
wait *tempw;
FILE *fp;
tempw=new wait;
int i;
if((fp=fopen("wait.txt","r")) ==NULL )
{
fp=fopen("wait.txt","w");
fclose(fp);
}
wait_end=new wait;
wait_head=new wait;
wait_end-next=NULL;
wait_end-pre=NULL;
wait_head=wait_end;
wait_head-count=0;
fp=fopen("wait.txt","r");
fread(wait_head,sizeof(wait),1,fp);
for(i=1;i=wait_head-count;i++)
{
fread(tempw,sizeof(wait),1,fp);
wait_end-next=tempw;
tempw-pre=wait_end;
tempw-next=NULL;
wait_end=tempw;
}
}
void list_piao()
{
int i,j;
for(i=1;i=m-1;i++)
{
if(a[i].seat[0]!=n)
{
coutendl"第 "i" 架飞机剩余的票 :"endl;
for(j=1;j=n;j++)
if (a[i].seat[j]==0) cout" "j;
coutendl;
}
else coutendl"The "i" plane is full !"endlendl;
}
}
void list_information()
{
int x;
do {coutendl"显示哪架飞机的信息 ? "; cinx;coutendl;}while(x1 || x=m);
coutendl"第 "x" 架飞机的信息如下 "endl;
if(x==1) plane_information(head1);
if(x==2) plane_information(head2);
if(x==3) plane_information(head3);
}
void plane_information(node *head)
{
node *q;
char ch;
int x=0;
if(head!=NULL head-next!=NULL)
q=head-next;
else {
q=NULL;
cout"飞机空,无预订票 !"endl;
}
while(q!=NULL)
{
coutendl"*******************"endl;
q-date=q-plane;
cout"日期 :"q-dateendl;
cout"座位号 : "q-seatendl;
cout"姓名 : "q-name;
coutendl"ID 号 : "q-id;
q=q-next;x++;
if (x % 3 ==0) ch=getch();
}
coutendl;
}
void book()
{
int i,j,p;
coutendl"请选择地点:(1、2、3) ";
do {
cini;
if (i1 || i=m) {
coutendl"**** 超出范围!****"endl"请重新输入:";
}
else
{coutendl"你要订的是到"i"地的飞机"endl;
coutendl"第 "i" 架飞机剩余的票 :"endl;
for(p=1;p=n;p++)
if (a[i].seat[p]==0) cout" "p;
coutendl;
break;}
}while(1);
coutendl"请选择座位号 : ";
do {
cinj;
if (j1 || jn) {
coutendl"**** 超出范围!****"endl"请重新输入:";
}
else
{
q-date=i;
coutendl"您的订票日期 : "q-dateendl;
break;
}
}while(1);
if (a[i].seat[j]==0) {
a[i].seat[j]=1;
coutendl;
a[i].seat[0]++;
if(i==1) add_information(head1,1,j);
if(i==2) add_information(head2,2,j);
if(i==3) add_information(head3,3,j);
}
else
{
coutendl"**** 对不起,该座位已被预订,您被安排到订票等候队列 ****"endl;
add_wait(i,j);
}
}
void add_wait(int x,int y)
{
wait *tempw;
tempw=new wait;
tempw-next=NULL;
cout"请输入个人信息"endl;
coutendl"*************"endl;
cout"姓名 : ";cintempw-name;
cout"ID号 : ";cintempw-id;
cout"电话 :";cintempw-phone;
tempw-seat=y;
tempw-plane=x;
wait_end-next=tempw;
tempw-pre=wait_end;
wait_end=wait_end-next;
coutendl"**** 正在排队等候 ****"endl;
wait_head-count++;
write_to_file();
}
void show_wait()
{
wait *tempw;
tempw=wait_head-next;
if (tempw==NULL) coutendl"排队中没有人!"endl;
while(tempw!=NULL)
{
couttempw-name" - ";
tempw=tempw-next;
}
}
void add_information(node *head,int x,int y)
{
node *temp;
temp=new node;
temp-pre=NULL;
temp-next=NULL;
cout"请输入个人信息"endl;
coutendl"*************"endl;
cout"姓名 : ";cintemp-name;
cout"ID号 : ";cintemp-id;
temp-seat=y;
temp-plane=x;
temp-next=head-next;
temp-pre=head;
if (head-next!=NULL) head-next-pre=temp;
head-next=temp;
write_to_file();
coutendl"**** 订票成功 ****"endl;
}
void search_delete(int x)
{
node *p,*q,*r;
wait *tempw,*tempw2,*tempw3;
int step=1,t1,t2,i;
char ch;
p=new node;
tempw=new wait;
tempw2=new wait;
tempw3=new wait;
q=head1;
coutendl"请输入个人信息"endl;
cout"*************"endl;
coutendl"姓名 : ";cinp-name;
do{
q=q-next;
if ( (q!=NULL)
(comp(q,p)) )
{
coutendl;
q-date=q-plane;
cout"Located!"endl;
cout"****************";
coutendl"姓名 : "q-name;
coutendl"ID号 : "q-id;
coutendl"座位号 : "q-seat;
coutendl"班机号 : "q-plane;
coutendl"日期 : "q-dateendl;
if (x==1) {
cout"删除该纪录 ? [Y/N] ";
cinch;
if (ch=='Y' || ch=='y') {
t1=q-plane;
t2=q-seat;
a[t1].seat[t2]=0;
a[t1].seat[0]--;
r=q;q=q-pre;
r-pre-next=r-next;
if(r-next!=NULL) r-next-pre=r-pre;
delete(r);
cout"**** 记录删除成功 ! ****";
write_to_file();
tempw=wait_head;
for(i=0;iwait_head-count;i++)
{
tempw=tempw-next;
if(tempw==NULL) break;
if((tempw-plane==t1) (tempw-seat==t2))
{
strcpy(tempw3-name,tempw-name);
strcpy(tempw3-phone,tempw-phone);
coutendl"等候的人中有可以订票的了:"endl;
coutendl"姓名 : "tempw-name;
coutendl"ID号 : "tempw-idendl;
a[t1].seat[0]++;
a[t1].seat[t2]=1;
if(tempw-plane==1) add_information(head1,1,tempw-seat);
if(tempw-plane==2) add_information(head2,2,tempw-seat);
if(tempw-plane==3) add_information(head3,3,tempw-seat);
tempw2=tempw-pre;
tempw2-next=tempw-next;
if(tempw-next==NULL) wait_end=tempw2;
else tempw-next-pre=tempw2;
delete(tempw);
wait_head-count--;
write_to_file();
coutendl"等候的"tempw3-name"已经成功订票,已经由电话"tempw3-phone"通知了"endl;
break;
}
}
}
}continue;
}
else
{
if (q==NULL)
{
step++;
if(step==2) q=head2;
if(step==3) q=head3;
if(step==4) {coutendl"**** 信息检索完毕 ****";break;}
}
}
}while(1);
}
bool comp(node *x,node *y)
{
node *p,*q;
int i,j,k;
p=x;
q=y;
i=j=0;
do
{
while ( (p-name[i] != q-name[j]) (p-name[i] != '\0') ) i++;
if (p-name[i] == '\0') {return(false);break;}
else
{
k=i;
while ( (p-name[k] == q-name[j]) (q-name[j]!='\0') ) {k++;j++;}
if (q-name[j]=='\0') return(true);
else
{
j=0;
i++;
}
}
}while( (q-name[j]!='\0') (p-name[i] != '\0') );
return(false);
}
void write_to_file()
{
FILE *fp;
int i,j;
int x[m];
node *p;
wait *tempw;
tempw=new wait;
tempw=wait_head;
fp=fopen("piao.dat","w");
for (i=1;i=m-1;i++)
{
fwrite(a[i],sizeof(piao),1,fp);
}
fclose(fp);
fp=fopen("information.dat","w");
x[0]=0;x[1]=a[1].seat[0];
for(i=0,j=1;j=m-1;j++) {i=i+a[j].seat[0];x[j]=a[j].seat[0]+x[j-1];}
j=1;p=head1-next;
for(j=1;j=i;j++)
{
if(j==x[1]+1) p=head2-next;
if(j==x[2]+1) p=head3-next;
if(p==NULL)break;
fwrite(p,sizeof(node),1,fp);
p=p-next;
}
fclose(fp);
fp=fopen("wait.txt","w");
for(j=0;j=wait_head-count;j++)
{
if(tempw==NULL)break;
fwrite(tempw,sizeof(wait),1,fp);
tempw=tempw-next;
}
fclose(fp);
}
关于《飞机票预订系统程序》的介绍到此就结束了。