当前位置:  > 自制飞机

c++飞机订票系统

作者: 发布时间: 2022-09-09 15:45:10

简介:】本篇文章给大家谈谈《c++飞机订票系统》对应的知识点,希望对各位有所帮助。本文目录一览:
1、怎样查询飞机订票信息?


2、求c语言编程 通讯录或者飞机票查询系统


3、C语言程

本篇文章给大家谈谈《c++飞机订票系统》对应的知识点,希望对各位有所帮助。

本文目录一览:

怎样查询飞机订票信息?

第一种方法拨打电话进行查询。

拨打95583进行咨询。

第二种方法:通过网站进行查询

1)打开一个浏览器,在百度中输入“中国航空”,单击“百度一下”

2)单击“中国国航官方网站”官网

3)此时打开中国国际航空公司的网站

4)点击上方的“预订管理”——“机票订单”选项

5)在这个界面中,输入订单号、手机号码、验证码,点击下方的“查找订单”按钮即可查询到飞机票的信息

求c语言编程 通讯录或者飞机票查询系统

这个是我自己做的类式的,你可以按自己的要求改下·不难的和你的差不多,给分哦

#includestdlib.h

#includestdio.h

#includestring.h

#includeconio.h

#define N 10

/*****定义结构体*****/

typedef struct students /*标记为students*/

{

char num[10]; /*学生学号*/

char name[10]; /*学生姓名*/

int age; /*年龄*/

char sex[10]; /*性别*/

float cyy; /*C语言成绩*/

float computer; /*计算机成绩*/

float english; /*英语成绩*/

float pj; /*平均成绩*/

}STU;

STU temp;

void sort(STU students[],int n); //排序

void save(STU students[] ,int n);//导出

int Locate(STU students[],int n);//查询

/*--------------显示菜单--------------------*/

char displaymenu()

{

char k;

system("cls");

printf(" 学生成绩管理 \n");

printf("-----------------------------------应用菜单-------------------------------------\n");

printf(" 1 输入学生成绩\n\n");

printf(" 2 输出学生成绩\n\n");

printf(" 3 查询学生成绩\n\n");

printf(" 4 修改学生成绩\n\n");

printf(" 5 查看成绩排序\n\n");

printf(" 6 查看成绩统计\n\n");

printf(" 7 保存数据\n\n");

printf(" 8 读取数据\n\n");

printf(" 9 退出系统\n\n");

printf(" 请选择你想进行的操作:");

k=getchar();

return k;

}

/*****定义输出函数*****/

void printheader() /*格式化输出表头*/

{

printf("\n\n************************学生成绩管理系统****************************\n\n\n");

printf("| 学号 | 姓名 | 年龄 | 性别 | C语言成绩 |计算机成绩 | 英语成绩| 平均成绩 | \n");

}

void printdata(STU pp) /*格式化输出表中数据*/

{

STU* p;

p=pp;

printf("| %-5s| %-5s | %-4d| %-4s| %-6.0f| %-6.0f| %-5.0f| %-6.0f|\n",p-num,p-name,p-age,p-sex,p-cyy,p-computer,p-english,p-pj);

}

/*****添加学生信息*****/

int add(STU students[] ,int *n)

{

int i=0;

system("cls");

printf(" \n");

printf(" 请输入学生信息 \n");

printf(" 退出请在学生号处输入:0 \n");

printf("请输入学生学号:\n ");

scanf("%s",students[i].num);

while(strcmp(students[i].num,"0") )//当输入的学号为0时结束输入

{

printf("请输入学生姓名:\n ");

scanf("%s",students[i].name);

printf("****************\n\n\n");

printf("请输入学生年龄:\n ");

scanf("%d",students[i].age);

printf("****************\n\n\n");

printf("请输入学生性别:\n");

scanf("%s",students[i].sex);

printf("****************\n\n\n");

printf("请输入C语言成绩:\n ");

scanf("%f",students[i].cyy);

printf("****************\n\n\n");

printf("请输入计算机成绩:\n ");

scanf("%f",students[i].computer);

printf("****************\n\n\n");

printf("请输入英语成绩:\n ");

scanf("%f",students[i].english);

printf("****************\n\n\n");

students[i].pj=(students[i].cyy+students[i].computer+students[i].english)/3;

printf("学生平均成绩: %-8.0f\n",students[i].pj);

i++;

printf("****************\n\n\n");

printf("请输入学生学号:\n ");

scanf("%s",students[i].num);

}

*n=i;

save(students ,i);

return i;

}

/*****查询学生信息函数*****/

int Locate(STU students[],int n)

{

int k,m=-1;

char num[10],name[20];

int i=0;

system("cls");

printf(" 退出请输入:0 \n");

printf("请选择以什么方式查询:1).按学生学号查询 2).按学生姓名查询 \n");

scanf("%d",k);

if(k==1)

{

printf("请输入你要查询的学生学号:\n");

scanf("%s",num);

while(in)

{

if(strcmp(students[i].num,num)==0) /*若找到学号*/

{

printf("学生学号:%s\n*学生姓名:%s\n*学生年龄:%d\n*学生性别:%s\nC语言成绩:%-8.0f\n计算机成绩:%-8.0f\n英语成绩:%-8.0f\n平均成绩:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);

m=i;

getchar();

break;

}

i++;

}

if(i=n)

printf("没有所找学生信息\n");

getchar();

}

else if(k==2)

{

printf("请输入你要查询的学生姓名:\n");

scanf("%s",name);

while(in)

{

if(strcmp(students[i].name,name)==0) /*若找到姓名*/

{ printf("学生学号:%s\n学生姓名:%s\n学生年龄:%d\n学生性别:%s\n学生C语言成绩:%-8.0f\n计算机成绩:%-8.0f\n英语成绩:%-8.0f\n平均成绩:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);

m=i;

getchar();

break;

}

i++;

}

if(i=n)

printf("没有所找学生信息\n");

}

return m;/*返回一个根m便于修改学生信息*/

getchar();

}

/*****显示函数*****/

void input(STU students[],int n)

{

int i;

system("cls"); //清屏

if(n==0) /*表示没有学生信息记录*/

{

printf("\n没有学生记录!\n");

}

printf("\n\n");

printheader(); /*输出表格头部*/

i=0;

while(in) /*逐条输出数组中存储的学生信息*/

{

printdata(students[i]);

i++;

}

getchar();

}

/*****修改子程序*****/

void Modify(STU students[],int n)

{

int i;

if(n=0)

{

system("cls");

printf(" \n退出请输入:0 \n");

printf("\n----------not found!----------\n");

getchar();

return ;

}

system("cls");

printf("修改学生信息");

input(students,n);

i=Locate(students,n); /*查询到该数组元素,并返回下标值*/

if(i!=-1) /*若i!=-1,表明已经找到该数组元素*/

{

printf("请输入新的学生信息: \n");

printf(" 学号: ");

scanf("%s",students[i].num);

printf(" 姓名: ");

scanf("%s",students[i].name);

printf(" 年龄: ");

scanf("%d",students[i].age);

printf(" 性别: ");

scanf("%s",students[i].sex);

printf(" C语言: ");

scanf("%f",students[i].cyy);

printf(" 英语: ");

scanf("%f",students[i].english);

printf(" 计算机: ");

scanf("%f",students[i].computer);

students[i].pj=(students[i].cyy+students[i].english+students[i].computer)/3;

printf("平均成绩: %-9.0f\n",students[i].pj);

save(students ,n);

printf("\n-------------修改成功!-------------\n");

}

else

printf("not found!\n");

getchar();

}

/*****学生成绩排序子程序*****/

void sort(STU students[],int n)

{

int i,j,a,b,c,d,e,f,k;

float p;

printf(" \n退出请输入:0 \n");

printf("成绩排序方式选择: 1.按C语言 2.按英语 3.按平均 \n ");

scanf("%d",k);

if(k==1) /*用选择法对C语言排序*/

{

for(i=0; in; i++)

for(j=0;jn-1;j++)

{

if(students[i].englishstudents[j+1].english)

{

temp=students[i];

students[i]=students[j+1];

students[j+1]=temp;

}

}

}

else if(k==2)/*英语用冒泡法*/

{

for(a=0; an-1; a++)

{

c=a;

for(b=a+1; bn; b++)

if(students[b].cyystudents[c].cyy)

c=b;

if (c!=a)

{

temp=students[a];

students[a]=students[c];

students[c]=temp;

}

}

}

if(k==3) /*平均成绩用插入法*/

{

for(d=1;dn;d++)

{

p=students[d].pj;

for(e=0;ed;e++)

if(students[e].pjp)

break;

if(e==d)

continue;

for(f=d;fe;f--)

students[f]=students[f-1];

students[e]=temp;

}

}

input(students,n); /*显示排序后的所有记录*/

save(students ,n);

printf("\n 排序完成!\n");

}

/*****统计学生分数在各等级的人数子程序*****/

void Tongji(STU students[],int n)

{

int count6085=0,count85=0,count60=0;

int i=0;

system("cls");

printf(" \n退出请输入:0 \n");

input(students,n);

i=0;

while(in)

{

if(students[i].pj85) /*平均成绩=85*/

if(students[i].pj=60students[i].pj=85) /*60平均成绩85*/

if(students[i].pj60) /*平均成绩60*/

}

printf("\n************统计结果************\n\n");

printf("平均成绩高于85分的人数:%d \n",count85);

printf(" \n");

printf("平均成绩在65分和80分之间的人数:%d \n",count6085);

printf(" \n");

printf("平均成绩低于60分的人数:%d \n",count60);

printf(" \n");

printf("\n\n**********统计结束**********");

getchar();

}

/*****导出或保存数据*****/

void save(STU students[],int n)

{

FILE* fp;

int i=0;

fp=fopen("students","wb+");/*以读写方式打开创建一个二进制文件*/

if(fp==NULL) /*打开文件失败*/

{

printf("\n*******打开文件错误!*******\n");

return ;

}

for(i=0;in;i++)

{

if(fwrite(students[i],sizeof(STU),1,fp)==1)/*每次写一条记录或一个结构数组元素至文件*/

{

continue;

}

else

{

break;

}

}

if(i0)

{

getchar();

printf("\n\n*共导出%d个学生信息*\n",i);

getchar();

}

else

{

system("cls");

printf("**没有信息导出*\n");

getchar();

}

fclose(fp); /*关闭此文件*/

}

/*****导入数据*****/

void Read(STU students[],int * n)

{

FILE* fp;

int i=0;

fp=fopen("students","rb");/*以只读方式打开一个已有的二进制文件*/

if(fp==NULL) /*打开文件失败*/

{

printf("\n********打开文件错误!********\n");

exit(0);

}

for(i=0;iN;i++)

{

if(fread(students[i],sizeof(STU),1,fp)==1)/*每次读一条记录或一个结构数组元素至文件*/

continue;

else

break;

}

*n=i;

if(i0)

{

printf("\n\n************共导入:%d 个学生信息 ************\n",i);

getchar();

}

else

{ system("cls");

printf("************没有信息导入!************\n");

getchar();

}

getchar();

fclose(fp); /*关闭此文件*/

}

/*****主函数*****/

void main()

{

STU students[N];

int n;

char s1[3],s2[3]=;

int i,k;

printf("\n\n");

printf("******************************************************\n");

printf("^ 欢迎使用本软件 ^\n\n");

printf("^ 版本 : oooo ^\n\n\n");

printf("^ 姓名:卢景光 班级: 09623 学号:34 ^\n");

printf("^ ^\n");

printf("******************************************************\n");

printf("\n\n");

for(i=0;i3;i++)

{

printf("\n请输入密码:");

gets(s1);

if(strcmp(s1,s2)==0)

break;

else

printf("\n密码错误,请重新输入");

}

if(i2)

{

printf("\n您已连续3次输错,系统将退出!\n");

exit(0);

}

else

{

while(1)

{

k=displaymenu();

switch(k)

{

case '1' : add(students,n); break;

case '2' : Read(students,n);input(students,n) ;break;

case '3' : Read(students,n);Locate(students,n);break;

case '4' : Read(students,n);Modify(students,n)break;

case '5' : Read(students,n);sort(students,n);break;

case '6' : Read(students,n);Tongji(students,n); break;

case '7' : save(students,n) ;break;

case '8' : Read(students,n);break;

case '9' : system("cls");

printf("\n **********谢谢您的使用**********\n");exit(0);break;

default : printf("\n\n输入错误,输入必须是0~9之间的一个数字!请重新输入\n");getchar();getchar();

}

}

}

}

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语言如何编写飞机订票系统?

#includestdio.h

#includestring.h

#includeconio.h

#includectype.h

#includestdlib.h

#includemalloc.h

#includemath.h//overflow

#defineok1

typedefstructYidingkehu

{//单链表

charname[15];//已订票的客户姓名

intdingpiaoshu;//已订票数量

structYidingkehu*next1;//

}Yidingkehu,*Link;

typedefstructWeidingkehu

{//单链队

charname[15];//预订票的客户姓名

intyudingpiao;//要订票数量

structWeidingkehu*next2;//下一个链队结点指针

}Weidingkehu,*Qptr;

typedefstructHangxian

{//创建一个含有六个信息的结构体

charhangbanhao[15];//航班号-

charfeijihao[15];//飞机号

intfeixingriqi;//起飞时间

intchenkerenshu;//座位数

intyupiao;//余票

charzhongdianzhai[15];//降落城市

structHangxian*next;//指向下一个链结点的指针

structYidingkehu*yiding;//定义一个指向已订票客户的头结点指针

structWeidingkehu*yudingqueue;

}Hangxian,*Linklist;

LinklistInitLinklist();//01

intInsertLinklist(Linklisthead1);//02

voidhbhchaxun();//通过航班号查询

voidmddchaxun();//通过目的地查询

voidlurugongneng();//初始化录入功能

voidchaxungongnen();//查询功能

voiddingpiaogongnen();//订票功能

voidtuipiaogongnen();//退票功能

voidmain()

{

intn;

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)

{

case1:lurugongneng();//录入功能

break;

case2:chaxungongnen();//查询功能

break;

case3:dingpiaogongnen();//订票功能

break;

case4:tuipiaogongnen();//退票功能

break;

default:exit(0);//退出

}

}while(n==1||n==2||n==3||n==4);

}

voidlurugongneng()//初始化的单链表*********************************************************录入功能

{

Linklistp;

//intm,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);

}

voidchaxungongnen()//******************************************************************查询功能

{

intn;

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)

{

case1:mddchaxun();

break;

case2:hbhchaxun();

break;

default:break;

}

}

voidmddchaxun()//通过目的地查询

{

charc[15];

intm;

Linklistp=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);

}

voidhbhchaxun()//通过目的地查询

{

charc[15];

intm;

Linklistp=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);

}

voiddingpiaogongnen()//***************************************************************订票功能

{

charc[15];

intm=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");

gotoloop1;

}

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);}

elsep=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=(structYidingkehu*)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)gotoloop3;

}

}while(m==1);

}

}

elseif(!p)

{

loop3:structWeidingkehu*q3;

printf("对不起,该航班的票已售完\n");

q.front=p-yudingqueue;

if(q.front==q.rear)printf("没有人预订票,是否要预订?\n");

elseif(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:;

}

voidtuipiaogongnen()//***************************************************************退票功能

{

}

///////////以下是人家的要求//////////

1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。

2、本系统显示这样的菜单:

(1)输入航班信息

(2)输出航班信息

(3)查找航班信息

a.显示空座的数量

b.显示空座的信息

c.显示已订座的信息

d.起飞时间

(4)订票预约

(5)删除定票预约

(6)退出系统

1、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。

2、查找航班信息既可按线路查,也可按目的地查。

4、在两次运行之间,数据被保存于一个文件里,当本程序重新开

始的时候,它首先从该文件读入数据

c语言编程:飞机订票系统,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()//***************************************************************退票功能

{

}

///////////以下是人家的要求//////////

1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地 航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。

2、本系统显示这样的菜单:

(1) 输入航班信息

(2) 输出航班信息

(3) 查找航班信息

a.显示空座的数量

b.显示空座的信息

c.显示已订座的信息

d.起飞时间

(4)订票预约

(5)删除定票预约

(6)退出系统

1、 本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。

2、 查找航班信息既可按线路查,也可按目的地查。

4、在两次运行之间,数据被保存于一个文件里,当本程序重新开

始的时候,它首先从该文件读入数据

关于《c++飞机订票系统》的介绍到此就结束了。

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