当前位置:  > 航空产业

航空票务系统

作者: 发布时间: 2022-09-12 01:33:25

简介:】本篇文章给大家谈谈《航空票务系统》对应的知识点,希望对各位有所帮助。本文目录一览:
1、用C语言编写一个航班订票管理系统,该系统用于机场航班订票。假设某机场有若干次,每次

本篇文章给大家谈谈《航空票务系统》对应的知识点,希望对各位有所帮助。

本文目录一览:

用C语言编写一个航班订票管理系统,该系统用于机场航班订票。假设某机场有若干次,每次有N个座位的飞机航

白痴,这个问题至少200分,我以前的比这个简单的200分也没人回答

#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 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语言程序设计 飞机订票管理系统

编制一个航班订票系统。应具备如下功能:该航班仅有一架100座飞机;该飞机座位分为吸烟区(30个座位)和无烟区(70个);订票系统界面是选择菜单:1.选吸烟区座位号;2.选无烟区座位号;用户输入自己的选择后,该区若有空位,则顺序地分配一个座号;否则致歉;若吸烟区已满而无烟区有空位,则征求顾客意见,是否愿意得到无烟区的空位,若愿意,则在无烟区分配一个座号,否则致歉退出;顾客不得自主挑选座位号;

#includecstdio

#includestdlib.h

#includestring.h

#includememory.h

#define LIN 31

#define LIE 71

static int smok[LIN];//吸烟区票

static int nosmoke[LIE];//无烟区票

void Initnosmoke();//初始化

void ASK();void Initsmok();

void nosmok();

void smoke();

int search(int *array,int size);

void show();

int main()

{

Initnosmoke();

Initsmok();show();return 0;}void Initnosmoke()//初始化无烟区票{int sun=0;for(int j=0;jLIE;j++){sun+=1;nosmoke[j]=sun;}}void Initsmok()//初始化吸烟区票{int k=0;for(int i=0;iLIN;i++){k+=1;smok[i]=k;}}int search(int *array,int size)/*该函数的作用是用来查看系统中某类票是否卖完,入股卖完了返回1,反之返回的是0*/{int i;for(i=0;isize;i++){if(array[i]!=0){return 0;}else{;}}return 1;}void nosmok()//购买无烟区票{for(int i=0;iLIE;i++){if(iLIE-1){if(nosmoke[i]!=0){printf("你票是:NOSMOKE_%d\n",nosmoke[i]);nosmoke[i]=0;break;}else{;}}else{printf("对不起!NOSMOKE票已售完!");}}}void ASK()/*该函数用来询问客户是否需要买NOSMOKE票当SMOKE票卖完的情况下*/{char ask;printf("NOSMOKE票你要吗?(y/n)\n");ask=getchar();if(ask =='y' || ask=='Y' ){nosmok();}else if(ask=='n' || ask=='N'){printf("谢谢!再见\n");}else{printf("输入错误!\n");}}void smoke()//购买吸烟区票{for(int j=0;jLIN;j++){if(jLIN-1){if(smok[j]!=0){printf("你票是: SMOKE_%d\n",smok[j]);smok[j]=0;break;}else{;}}else{printf("对不起!SMOKE票已售完!");{fflush(stdin);int rec=search(nosmoke,LIE);if(rec==0){ASK();}else{printf("谢谢!\n");}}}}}void window(){printf("\t\t欢迎使用航班订票系统\n");printf("\t\t1.吸烟区座位\n");printf("\t\t2.无烟区座位\n");printf("\t\t3.退出系统\n");printf("\t\t请选择(1~3)进行操作:\n");}void show(){system("color 4a");char ch=' ';window();while(ch!='3'){fflush(stdin);ch=getchar();switch(ch){case '1':{smoke();break;}case '2':{nosmok();break;}case '3':{break;}default:break;}window();ch=getchar();}}

关于《航空票务系统》的介绍到此就结束了。

尚华空乘 - 航空资讯_民航新闻_最新航空动态资讯
备案号:滇ICP备2021006107号-341 版权所有:蓁成科技(云南)有限公司    网站地图
本网站文章仅供交流学习,不作为商用,版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除。