2024年10月飞机订票系统(飞机订票系统设计 c语言)

 更新时间:2024-10-12

  ⑴飞机订票系统(飞机订票系统设计c语言

  ⑵飞机订票系统设计c语言

  ⑶(已修改,请用最新的代码代码说明:

  ⑷级菜单:选择购买的航班号,并显示对应座位状态。

  ⑸(我只做测试,所以初始化initFlight函数中我只初始了个航班,需要自己按照我的代码添

  ⑹(注意:实际开发软件,链表数据是从数据库中读取的,需要实时同步,如果要多次调用initFlight函数,记得自己写一个释放内存的函数,把所有链表“SINFO和FLINFO”节点都释放掉,释放函数我没写,需要你自己写!!!

  ⑺级菜单:选择购买对应座位号,完成购买,并实时显示购买结果。

  ⑻位置编号、座位最大排数、舱室类型、折扣等参数均由常量参数空值,需要修改自行改常量。

  ⑼注意:舱室类型(我默认个类型头等舱、公务舱、经济舱对应折扣参数:tDiscount二维数组。如要如要添加新的舱室类型,必须将参数常量TYPESIZE、typeName、types、tDiscount这个同时修改,具体看代码备注!!

  ⑽座位票价=基础票价*类型折扣*时段折扣。

  ⑾因为飞机不让吸烟,所以我没做吸烟区(笑,如果你需要,可以作为类型自行添加!

  ⑿#include《stdio.h》#include《stdlib.h》#include《conio.h》#include《string.h》#include《malloc.h》#include《time.h》//-----------------------相关参数,想改变,在这里修改!!!!!!!-----------------------------const?float?timeDiscount=;//时段折扣,影响所有航班最终价格,默认const?char?cID=“ABCD“;//位置编号const?int?maxRow=;//位置最大排号//注意:如果修改类型数量,types和tDiscount必须同时修改!!!#define?TYPESIZE?//类型数量const?char?typeName[TYPESIZE]={“头等舱“,“公务舱“,“经济舱“};const?int?types[TYPESIZE]={{,},{,},{,}};//排号对应类型。~排头等舱,~排公务舱,~排经济舱const?float?tDiscount[TYPESIZE]={.,.,};//类型折扣。头等舱.倍,公务舱.倍,经济舱倍//-------------------------------------------------------------------------------typedef?struct?seatInfo//座位信息,一条链表对应一个航班信息,链表顺序从第一排左边第一个开始往后A~D,A~D。。。{????char?cloID;//位置编号A、B、C、D????int?row;//位置排号????int?type;//座位所属类型::头等舱、:公务舱、:经济舱,不同类型对应不同的类型折扣tDiscount????int?sell;//出售状态,:未出售;:已出售????struct?seatInfo?*next;}SINFO;typedef?struct?flightInfo//航班信息{????char?fid;//航班号????time_t?tfTime;//起飞时间????time_t?ldTime;//降落时间????char?toCity;//抵达城市????float?tPrice;//基础票价,不同位置具有不同折扣,座位票价=基础票价*类型折扣*时段折扣????struct?flightInfo?*next;????struct?seatInfo?*sHead;//对应座位链表的头节点}FLINFO;void?meError(void?*p);SINFO?*getSINFO();//获取座位链表//addFLINFO:添加航班信息链表的节点flinfoHead:头节点(第一次传NULL会自动生成,flinfoTail:尾节点,fNew:要添加的结构信息(成员指针无需赋值)FLINFO?*addFLINFO(FLINFO?**ffHead,FLINFO?*flinfoTail,FLINFO?fNew);//返回尾节点time_t?getTime_tfromStr(char?*sTime);//将YYYY-MM-DD?hh:mm:ss格式的时间字符串转换成time_t型数值FLINFO?*initFlight();//初始化航班信息,返回航班链表头节点,如果想手动输入,请在这里添加!!!正常软件开发,这一步应该是从数据库读取!char?*getTString(struct?tm?*tm);//通过tm获取时间字符串void?showSinfo(FLINFO?*flinfo);//显示航班对应座位信息void?printfFlinfo(FLINFO?*?flinfoHead);FLINFO?*selectFlinfo(FLINFO?*flinfoHead,char?*fid);//选择航班号,返回节点void?showSinfo(FLINFO?*flinfo);//显示航班对应座位信息SINFO?*selectSinfo(FLINFO?*flinfo,char?*sid);//选择座位,返回节点int?main(){????FLINFO?*flinfoHead=initFlight(),*ffSelect=NULL;????SINFO?*sfSelect=NULL;????char?fid={},sid={};????while()????{????????ffSelect=NULL;????????sfSelect=NULL;????????memset(fid,,);????????memset(sid,,);????????printfFlinfo(flinfoHead);????????printf(“请输入要购买的航班号:“);????????scanf(“%s“,fid);????????ffSelect=selectFlinfo(flinfoHead,fid);????????if(!ffSelect)????????{????????????printf(“未找到对应航班,按任意键继续-----

  ⒀“);????????????getch();????????????system(“cls“);????????????continue;????????}????????system(“cls“);????????printf(“航班号:%s?座位信息如下:

  ⒁“,ffSelect-》fid);????????showSinfo(ffSelect);????????printf(“请输入要购买的座位编号(输入返回主菜单):“);????????scanf(“%s“,sid);????????if(!strcmp(sid,““))????????{????????????system(“cls“);????????????continue;????????}????????else????????{????????????sfSelect=selectSinfo(ffSelect,sid);????????????if(!sfSelect||sfSelect-》sell)????????????{????????????????printf(“未找到对应座位或该座位已出售,请重新输入!按任意键继续-----

  ⒂“);????????????????getch();????????????????system(“cls“);????????????????continue;????????????}????????????printf(“购买成功!按任意键继续-----“);????????????sfSelect-》sell=;????????????getch();????????????system(“cls“);????????}????}????return?;}SINFO?*selectSinfo(FLINFO?*flinfo,char?*sid)//选择座位,返回节点{????SINFO?*sinfoHead=flinfo-》sHead;????while(sinfoHead-》next)????{????????if(sinfoHead-》next-》cloID==sid?&&?sinfoHead-》next-》row==atoi(sid+))????????????return?sinfoHead-》next;????????sinfoHead=sinfoHead-》next;????}????return?NULL;}void?showSinfo(FLINFO?*flinfo)//显示航班对应座位信息{????SINFO?*sinfoHead=flinfo-》sHead,*sfp=NULL;????int?i,j,k,row=maxRow,clo=strlen(cID);????char?typeStr={};????for(i=;i《row;i++)????{????????//---------读取座位所属舱室------------????????memset(typeStr,,);????????for(k=;k《TYPESIZE;k++)????????????if(i+》=types[k]?&&?i+《=types[k])????????????????strcpy(typeStr,typeName[k]);????????//--------------------------------------????????printf(“

  ⒃“);????????for(j=;j《clo;j++)????????????printf(“-------------?“);????????printf(“

  ⒄“);????????sfp=sinfoHead;????????for(j=;j《clo;j++)????????{????????????printf(“|????%c%d????|?“,sfp-》next-》cloID,sfp-》next-》row);????????????sfp=sfp-》next;????????}????????printf(“

  ⒅“);????????sfp=sinfoHead;????????for(j=;j《clo;j++)????????{????????????printf(“|?????%c?????|?“,sfp-》next-》sell?:);????????????sfp=sfp-》next;????????}????????printf(“

  ⒆“);????????sfp=sinfoHead;????????for(j=;j《clo;j++)????????{????????????printf(“|%s:%.f|?“,typeStr,flinfo-》tPrice*tDiscount[sfp-》next-》type]*timeDiscount);????????????sfp=sfp-》next;????????}????????printf(“

  ⒇“);????????sinfoHead=sfp;????}????for(j=;i《clo;j++)????????????printf(“-------?“);????printf(“

  ⒈“);}FLINFO?*selectFlinfo(FLINFO?*flinfoHead,char?*fid)//选择航班号,返回节点{????while(flinfoHead-》next)????{????????if(!strcmp(flinfoHead-》next-》fid,fid))????????????return?flinfoHead-》next;????????flinfoHead=flinfoHead-》next;????}????return?NULL;}void?printfFlinfo(FLINFO?*?flinfoHead){????while(flinfoHead-》next)????{????????printf(“目的地:%s,航班号:%s

  ⒉----起飞时间:%s,抵达时间:%s

  ⒊“,flinfoHead-》next-》toCity,flinfoHead-》next-》fid,getTString(localtime(&flinfoHead-》next-》tfTime)),getTString(localtime(&flinfoHead-》next-》ldTime)));????????flinfoHead=flinfoHead-》next;????}}char?*getTString(struct?tm?*tm)//通过tm获取时间字符串{????char?*str=(char?*)malloc(sizeof(char)*),num={};????meError(str);????memset(str,,);????sprintf(num,“%d“,tm-》tm_year+);????strcat(str,num);????strcat(str,“-“);????memset(num,,);????sprintf(num,“%d“,tm-》tm_mon);????strcat(str,num);????strcat(str,“-“);????memset(num,,);????sprintf(num,“%d“,tm-》tm_mday);????strcat(str,num);????strcat(str,“?“);????memset(num,,);????sprintf(num,“%d“,tm-》tm_hour);????strcat(str,num);????strcat(str,“:“);????memset(num,,);????sprintf(num,“%d“,tm-》tm_min);????strcat(str,num);????strcat(str,“:“);????memset(num,,);????sprintf(num,“%d“,tm-》tm_sec);????strcat(str,num);????return?str;}time_t?getTime_tfromStr(char?*sTime)//将YYYY-MM-DD?hh:mm:ss格式的时间字符串转换成time_t型数值{????time_t?rt;????struct?tm?*tm=NULL;????rt=time(NULL);????tm=localtime(&rt);????sscanf(sTime,(“%d-%d-%d?%d:%d:%d“),&tm-》tm_year,&tm-》tm_mon,&tm-》tm_mday,&tm-》tm_hour,&tm-》tm_min,&tm-》tm_sec);????tm-》tm_year-=;????tm-》tm_mon--;????rt=mktime(tm);????return?rt;}FLINFO?*initFlight()//初始化航班信息,返回航班链表头节点,如果想手动输入,请在这里添加!!!正常软件开发,这一步应该是从数据库读取!{????FLINFO?*ffHead=NULL,*flinfoTail=NULL,fNew;????//--------添加一个航班信息----需要增加按照我下面调用方式写--------------------------------????strcpy(fNew.fid,“CI“);????fNew.tfTime=getTime_tfromStr(“--?::“);????fNew.ldTime=getTime_tfromStr(“--?::“);????strcpy(fNew.toCity,“台北“);????fNew.tPrice=;????fNew.next=NULL;????flinfoTail=addFLINFO(&ffHead,flinfoTail,fNew);????//--------------------------------------------------------------------------------------------????strcpy(fNew.fid,“C“);????fNew.tfTime=getTime_tfromStr(“--?::“);????fNew.ldTime=getTime_tfromStr(“--?::“);????strcpy(fNew.toCity,“香港“);????fNew.tPrice=;????fNew.next=NULL;????flinfoTail=addFLINFO(&ffHead,flinfoTail,fNew);????return?ffHead;}FLINFO?*addFLINFO(FLINFO?**ffHead,FLINFO?*flinfoTail,FLINFO?fNew)//返回尾节点//添加航班信息链表的节点flinfoHead:头节点(第一次传NULL会自动生成,flinfoTail:尾节点,fNew:要添加的结构信息(成员指针无需赋值){????FLINFO?*flinfoHead=*ffHead;????if(flinfoHead==NULL)????{????????*ffHead=(FLINFO?*)malloc(sizeof(FLINFO));????????flinfoHead=*ffHead;????????meError(flinfoHead);????????flinfoHead-》next=NULL;????}????FLINFO?*flinfoNew=(FLINFO?*)malloc(sizeof(FLINFO));????meError(flinfoNew);????flinfoNew-》next=NULL;????flinfoNew-》fid=;????strcpy(flinfoNew-》fid,fNew.fid);????flinfoNew-》ldTime=fNew.ldTime;????flinfoNew-》tfTime=fNew.tfTime;????flinfoNew-》toCity=;????strcpy(flinfoNew-》toCity,fNew.toCity);????flinfoNew-》tPrice=fNew.tPrice;????flinfoNew-》sHead=getSINFO();????if(flinfoHead-》next==NULL)????????flinfoHead-》next=flinfoNew;????else????????flinfoTail-》next=flinfoNew;????flinfoTail=flinfoNew;????return?flinfoTail;}SINFO?*getSINFO()//获取座位链表{????int?maxClo=strlen(cID),t=maxClo*maxRow,clo=,row=,i;????SINFO?*sinfoHead=(SINFO?*)malloc(sizeof(SINFO)),*sinfoTail=NULL;????meError(sinfoHead);????sinfoHead-》next=NULL;????SINFO?*sinfoNew=NULL;????while(t--)//按顺序生成对应数量的座位链表????{????????if(clo==maxClo)????????????clo=,row++;????????if(row==maxRow+)????????????row=;????????sinfoNew=(SINFO?*)malloc(sizeof(SINFO));????????meError(sinfoNew);????????sinfoNew-》cloID=cID[clo];????????sinfoNew-》row=row;????????for(i=;i《TYPESIZE;i++)????????????if(row》=types[i]?&&?row《=types[i])????????????{????????????????sinfoNew-》type=i;????????????????break;????????????}????????sinfoNew-》sell=;????????sinfoNew-》next=NULL;????????if(sinfoHead-》next==NULL)????????????sinfoHead-》next=sinfoNew;????????else????????????sinfoTail-》next=sinfoNew;????????sinfoTail=sinfoNew;????????clo++;????}????return?sinfoHead;}void?meError(void?*p)//内存申请失败{????if(p==NULL)????{????????printf(“

  ⒋异常:内存申请失败!回车结束程序!

  ⒌“);????????while(getch()!=’

  ⒍’);????????exit();????}}

  ⒎飞机订票系统是一个怎么样的类型系统

  ⒏咨询记录·回答于--

  ⒐飞机订票系统是一个怎么样的类型系统

  ⒑飞机订票系统是一个实时系统

  ⒒C语言程序设计飞机订票系统

  ⒓#include《stdio.h》#include《string.h》#include《conio.h》#include《ctype.h》#include《stdlib.h》#include《malloc.h》#include《math.h》//overflow#defineoktypedefstructYidingkehu{//单链表charname;//已订票的客户姓名intdingpiaoshu;//已订票数量structYidingkehu*next;//}Yidingkehu,*Link;typedefstructWeidingkehu{//单链队charname;//预订票的客户姓名intyudingpiao;//要订票数量structWeidingkehu*next;//下一个链队结点指针}Weidingkehu,*Qptr;typedefstructHangxian{//创建一个含有六个信息的结构体charhangbanhao;//航班号-charfeijihao;//飞机号intfeixingriqi;//起飞时间intchenkerenshu;//座位数intyupiao;//余票charzhongdianzhai;//降落城市structHangxian*next;//指向下一个链结点的指针structYidingkehu*yiding;//定义一个指向已订票客户的头结点指针structWeidingkehu*yudingqueue;}Hangxian,*Linklist;LinklistInitLinklist();//intInsertLinklist(Linklist&head);//voidhbhchaxun();//通过航班号查询voidmddchaxun();//通过目的地查询voidlurugongneng();//初始化录入功能voidchaxungongnen();//查询功能voiddingpiaogongnen();//订票功能voidtuipiaogongnen();//退票功能voidmain(){intn;do{//打印主界面printf(“ 欢迎使用航空客运订票系统

  ⒔“);printf(“ +++++++++++++++++++++++++++++

  ⒕“);printf(“ ==》.录入功能==

  ⒖“);printf(“ ==》.查询功能==

  ⒗“);printf(“ ==》.订票功能==

  ⒘“);printf(“ ==》.退票功能==

  ⒙“);printf(“ ==》.退出==

  ⒚“);printf(“ +++++++++++++++++++++++++++++

  ⒛“);printf(“ 请选择:“);scanf(“%d“,&n);printf(“

  “);switch(n){case:lurugongneng();//录入功能break;case:chaxungongnen();//查询功能break;case:dingpiaogongnen();//订票功能break;case:tuipiaogongnen();//退票功能break;default:exit();//退出}}while(n==||n==||n==||n==);}voidlurugongneng()//初始化的单链表*********************************************************录入功能{Linklistp;//intm,n;if(!p)exit(OVERFLOW);printf(“ 请依次输入下面几项内容:

  “);//这里的输入采用一个个单独输入,避免了乱赋值的现象printf(“航班号

  “);gets(p-》hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车gets(p-》hangbanhao);printf(“飞机号

  “);gets(p-》feijihao);printf(“终点站

  “);gets(p-》zhongdianzhai);printf(“飞行日期

  “);scanf(“%d“,&p-》feixingriqi);printf(“乘客总数

  “);scanf(“%d“,&p-》chenkerenshu);printf(“余票数

  “);scanf(“%d“,&p-》yupiao);}voidchaxungongnen()//******************************************************************查询功能{intn;printf(“ 查找航线信息

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ ==》.通过目的地查询==

  “);printf(“ ==》.通过航班号查询==

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ 请选择:“);scanf(“%d“,&n);printf(“

  “);//格式化switch(n){case:mddchaxun();break;case:hbhchaxun();break;default:break;}}voidmddchaxun()//通过目的地查询{charc;intm;Linklistp=L;printf(“ 请输入要查询的目的地:“);gets(c);gets(c);//原因同上do{p=p-》next;if(p){m=strcmpi((*p).zhongdianzhai,c);//如果==的话则m=;if(m==){printf(“ 航班信息:

  “);printf(“ 航班号:%s

  “,p-》hangbanhao);printf(“ 飞机号:%s

  “,p-》feijihao);printf(“ 飞行时间:周%d

  “,p-》feixingriqi);printf(“ 余票量:%d

  “,p-》yupiao);}}else{//如果不匹配的话就做printf(“ 对不起没有你要找的目的地:

  “);m=;}}while(m!=);}voidhbhchaxun()//通过目的地查询{charc;intm;Linklistp=L;printf(“ 请输入要查询的航班号:“);gets(c);gets(c);printf(“

  “);do{p=p-》next;if(p){m=strcmpi((*p).hangbanhao,c);//如果==的话则m=;这里的(*p).与p-》的作用是一样的if(m==){printf(“ 航班信息:

  “);printf(“ 航班号:%s

  “,p-》hangbanhao);printf(“ 飞机号:%s

  “,p-》feijihao);printf(“ 飞行时间:周%d

  “,p-》feixingriqi);printf(“ 余票量:%d

  “,p-》yupiao);}}else{//如果不匹配的话就做printf(“ 对不起没有你要找的航班号:

  “);m=;}}while(m!=);}voiddingpiaogongnen()//***************************************************************订票功能{charc;intm=,piao,ydpiao=,yd=,n;//gets(c);printf(“请输入终点站名:“);gets(c);printf(“

  “);p=L-》next;if(p){do{//查找一下,是否有这个航班if(!p){printf(“对不起,没有你要找的航班:

  “);gotoloop;}m=strcmpi(p-》zhongdianzhai,c);if(m==){printf(“航班信息:

  “);printf(“航班号:%s

  “,p-》hangbanhao);printf(“飞机号:%s

  “,p-》feijihao);printf(“飞行时间:周%d

  “,p-》feixingriqi);printf(“余票量:%d

  “,p-》yupiao);}elsep=p-》next;}while(m!=);if(m==){do{printf(“

  请输入你要订的票数:“);scanf(“%d“,&piao);if(piao《=p-》yupiao){h=p-》yiding;if(h){h=h;h=h-》next;h=(structYidingkehu*)malloc(sizeof(Yidingkehu));printf(“请输入你的名字:“);gets(h-》name);gets(h-》name);h-》dingpiaoshu=piao;h-》next=h-》next;h-》next=h;p-》yupiao=p-》yupiao-piao;printf(“订票成功:

  “);m=;}}else{printf(“余票量:%d

  “,p-》yupiao);printf(“对不起,余票%d张不足,不能完成订票

  “,p-》yupiao);printf(“是否要重新订票?

  “);printf(“需要请输入否则请按预订请输入:“);scanf(“%d“,&m);printf(“

  “);if(m==)gotoloop;}}while(m==);}}elseif(!p){loop:structWeidingkehu*q;printf(“对不起,该航班的票已售完

  “);q.front=p-》yudingqueue;if(q.front==q.rear)printf(“没有人预订票,是否要预订?

  “);elseif(q.front!=q.rear)printf(“已有人预订票,是否要预订?

  “);printf(“预订请输入否则输入:“);scanf(“%d“,&n);printf(“

  “);if(n==){printf(“请输入你的姓名“);gets(q-》name);gets(q-》name);//q不能指向name???printf(“请输入订票数“);scanf(“%d“,&q-》yudingpiao);q-》next=NULL;q.rear-》next=q;q.rear=q;printf(“你已经预订了!

  “);}}loop:;}voidtuipiaogongnen()//***************************************************************退票功能{}请采纳答案,支持我一下。

  #include《stdio.h》#include《string.h》#include《conio.h》#include《ctype.h》#include《stdlib.h》#include《malloc.h》#include《math.h》//overflow#defineoktypedefstructYidingkehu{//单链表charname;//已订票的客户姓名intdingpiaoshu;//已订票数量structYidingkehu*next;//}Yidingkehu,*Link;typedefstructWeidingkehu{//单链队charname;//预订票的客户姓名intyudingpiao;//要订票数量structWeidingkehu*next;//下一个链队结点指针}Weidingkehu,*Qptr;typedefstructHangxian{//创建一个含有六个信息的结构体charhangbanhao;//航班号-charfeijihao;//飞机号intfeixingriqi;//起飞时间intchenkerenshu;//座位数intyupiao;//余票charzhongdianzhai;//降落城市structHangxian*next;//指向下一个链结点的指针structYidingkehu*yiding;//定义一个指向已订票客户的头结点指针structWeidingkehu*yudingqueue;}Hangxian,*Linklist;LinklistInitLinklist();//intInsertLinklist(Linklist&head);//voidhbhchaxun();//通过航班号查询voidmddchaxun();//通过目的地查询voidlurugongneng();//初始化录入功能voidchaxungongnen();//查询功能voiddingpiaogongnen();//订票功能voidtuipiaogongnen();//退票功能voidmain(){intn;do{//打印主界面printf(“ 欢迎使用航空客运订票系统

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ ==》.录入功能==

  “);printf(“ ==》.查询功能==

  “);printf(“ ==》.订票功能==

  “);printf(“ ==》.退票功能==

  “);printf(“ ==》.退出==

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ 请选择:“);scanf(“%d“,&n);printf(“

  “);switch(n){case:lurugongneng();//录入功能break;case:chaxungongnen();//查询功能break;case:dingpiaogongnen();//订票功能break;case:tuipiaogongnen();//退票功能break;default:exit();//退出}}while(n==||n==||n==||n==);}voidlurugongneng()//初始化的单链表*********************************************************录入功能{Linklistp;//intm,n;if(!p)exit(OVERFLOW);printf(“ 请依次输入下面几项内容:

  “);//这里的输入采用一个个单独输入,避免了乱赋值的现象printf(“航班号

  “);gets(p-》hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车gets(p-》hangbanhao);printf(“飞机号

  “);gets(p-》feijihao);printf(“终点站

  “);gets(p-》zhongdianzhai);printf(“飞行日期

  “);scanf(“%d“,&p-》feixingriqi);printf(“乘客总数

  “);scanf(“%d“,&p-》chenkerenshu);printf(“余票数

  “);scanf(“%d“,&p-》yupiao);}voidchaxungongnen()//******************************************************************查询功能{intn;printf(“ 查找航线信息

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ ==》.通过目的地查询==

  “);printf(“ ==》.通过航班号查询==

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ 请选择:“);scanf(“%d“,&n);printf(“

  “);//格式化switch(n){case:mddchaxun();break;case:hbhchaxun();break;default:break;}}voidmddchaxun()//通过目的地查询{charc;intm;Linklistp=L;printf(“ 请输入要查询的目的地:“);gets(c);gets(c);//原因同上do{p=p-》next;if(p){m=strcmpi((*p).zhongdianzhai,c);//如果==的话则m=;if(m==){printf(“ 航班信息:

  “);printf(“ 航班号:%s

  “,p-》hangbanhao);printf(“ 飞机号:%s

  “,p-》feijihao);printf(“ 飞行时间:周%d

  “,p-》feixingriqi);printf(“ 余票量:%d

  “,p-》yupiao);}}else{//如果不匹配的话就做printf(“ 对不起没有你要找的目的地:

  “);m=;}}while(m!=);}voidhbhchaxun()//通过目的地查询{charc;intm;Linklistp=L;printf(“ 请输入要查询的航班号:“);gets(c);gets(c);printf(“

  “);do{p=p-》next;if(p){m=strcmpi((*p).hangbanhao,c);//如果==的话则m=;这里的(*p).与p-》的作用是一样的if(m==){printf(“ 航班信息:

  “);printf(“ 航班号:%s

  “,p-》hangbanhao);printf(“ 飞机号:%s

  “,p-》feijihao);printf(“ 飞行时间:周%d

  “,p-》feixingriqi);printf(“ 余票量:%d

  “,p-》yupiao);}}else{//如果不匹配的话就做printf(“ 对不起没有你要找的航班号:

  “);m=;}}while(m!=);}voiddingpiaogongnen()//***************************************************************订票功能{charc;intm=,piao,ydpiao=,yd=,n;//gets(c);printf(“请输入终点站名:“);gets(c);printf(“

  “);p=L-》next;if(p){do{//查找一下,是否有这个航班if(!p){printf(“对不起,没有你要找的航班:

  “);gotoloop;}m=strcmpi(p-》zhongdianzhai,c);if(m==){printf(“航班信息:

  “);printf(“航班号:%s

  “,p-》hangbanhao);printf(“飞机号:%s

  “,p-》feijihao);printf(“飞行时间:周%d

  “,p-》feixingriqi);printf(“余票量:%d

  “,p-》yupiao);}elsep=p-》next;}while(m!=);if(m==){do{printf(“

  请输入你要订的票数:“);scanf(“%d“,&piao);if(piao《=p-》yupiao){h=p-》yiding;if(h){h=h;h=h-》next;h=(structYidingkehu*)malloc(sizeof(Yidingkehu));printf(“请输入你的名字:“);gets(h-》name);gets(h-》name);h-》dingpiaoshu=piao;h-》next=h-》next;h-》next=h;p-》yupiao=p-》yupiao-piao;printf(“订票成功:

  “);m=;}}else{printf(“余票量:%d

  “,p-》yupiao);printf(“对不起,余票%d张不足,不能完成订票

  “,p-》yupiao);printf(“是否要重新订票?

  “);printf(“需要请输入否则请按预订请输入:“);scanf(“%d“,&m);printf(“

  “);if(m==)gotoloop;}}while(m==);}}elseif(!p){loop:structWeidingkehu*q;printf(“对不起,该航班的票已售完

  “);q.front=p-》yudingqueue;if(q.front==q.rear)printf(“没有人预订票,是否要预订?

  “);elseif(q.front!=q.rear)printf(“已有人预订票,是否要预订?

  “);printf(“预订请输入否则输入:“);scanf(“%d“,&n);printf(“

  “);if(n==){printf(“请输入你的姓名“);gets(q-》name);gets(q-》name);//q不能指向name???printf(“请输入订票数“);scanf(“%d“,&q-》yudingpiao);q-》next=NULL;q.rear-》next=q;q.rear=q;printf(“你已经预订了!

  “);}}loop:;}voidtuipiaogongnen()//***************************************************************退票功能{}以上回答你满意么?

  #include《stdio.h》#include《conio.h》#include《string.h》#include《stdlib.h》#defineOK#defineERROR#definePRprintf#defineNULLintN=;typedefstructcustomer{charname;intseat_num;intleft;structcustomer*next;}customer;customer*creat_customer()//初始化链表{customer*l;l=(customer*)malloc(sizeof(customer));if(l==NULL){exit();}l-》next=NULL;returnl;}intinsert_customer(customer**p,char*name,intseat,intleft){//customer链表插入操作customer*q;q=(customer*)malloc(sizeof(customer));strcpy(q-》name,name);q-》seat_num=seat;q-》left=left;q-》next=NULL;(*p)-》next=q;(*p)=(*p)-》next;returnOK;}intdelete_cus(customer*h,char*name)//顾客退票{customer*p,*pr;pr=h;p=pr-》next;while(p!=NULL){if(strcmp(name,p-》name)==){pr-》next=p-》next;PR(“顾客%s退票成功!

  “,p-》name);returnOK;}pr=pr-》next;p=pr-》next;}PR(“无此顾客,无法退票!

  “);returnERROR;}intsave_customer(customer*l)//保存顾客信息{FILE*fp_customer;customer*p=l-》next;charfilename=“c:\customer.dat“;if((fp_customer=fopen(filename,“wb“))==NULL){printf(“cannotopenfiletowrite:%s

  “,filename);returnERROR;}for(;p!=NULL;p=p-》next){fprintf(fp_customer,“%s,%d%“,p-》name,p-》seat_num);}fclose(fp_customer);returnOK;}intbook(customer*c,char*name)//订票函数{customer*q=c-》next;for(;q-》next!=NULL;q=q-》next){}{if(q-》left》){PR(“恭喜您!订票成功!

  “);PR(“你的座位号是:%d

  “,(N-q-》left+));insert_customer(&q,name,N-q-》left+,q-》left);q-》left--;returnOK;}elsePR(“对不起,座位已满!

  “);return;}}intprint_customer(customer*l)//打印顾客信息{customer*p=l-》next;for(;p!=NULL;p=p-》next){PR(“%s%d

  “,p-》name,p-》seat_num);}returnOK;}voidmain(){charchoice,name;intt=;customer*cus=creat_customer();customer*l=creat_customer();while(t==){PR(“*----------------------------*

  “);PR(“*--航空订票系统选择菜单------*

  “);PR(“*订票-------*

  “);PR(“*退票-------*

  “);PR(“*查询-------*

  “);PR(“*退出-------*

  “);PR(“*----------------------------*

  “);PR(“请选择:“);choice=getch();PR(“%c

  “,choice);if(choice==’’){PR(“请输入你的姓名:“);scanf(“%s“,name);book(cus,name);save_customer(cus);}elseif(choice==’’){PR(“

  请输入你的姓名:“);scanf(“%s“,name);delete_cus(cus,name);save_customer(cus);}elseif(choice==’’){customer*p=l-》next;if(l!=NULL)do{PR(“%ld%.f

  “,p-》name,p-》seat_num);p=p-》next;}while(p!=NULL);}elseif(choice==’’){PR(“byb“);t=;}else{PR(“error

  “);}}getch();}

  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?typedef?struct?Yidingkehu{//单链表?char?name;//已订票的客户姓名?int?dingpiaoshu;//已订票数量?struct?Yidingkehu?*next;//}Yidingkehu,*Link;typedef?struct?Weidingkehu{//单链队?char?name;//预订票的客户姓名?int?yudingpiao;//?要订票数量?struct?Weidingkehu?*next;//下一个链队结点指针}Weidingkehu,*Qptr;typedef?struct?Hangxian{//创建一个含有六个信息的结构体?char?hangbanhao;//航班号-?char?feijihao;//飞机号?int?feixingriqi;//起飞时间?int?chenkerenshu;//座位数?int?yupiao;//余票?char?zhongdianzhai;//降落城市?struct?Hangxian?*next;//指向下一个链结点的指针?struct?Yidingkehu?*yiding;//定义一个指向已订票客户的头结点指针?struct?Weidingkehu?*yudingqueue;}Hangxian,*Linklist;Linklist?InitLinklist();//int?InsertLinklist(Linklist?&head);//void?hbhchaxun();//通过航班号查询void?mddchaxun();//通过目的地查询void?lurugongneng();//初始化录入功能void?chaxungongnen();//查询功能void?dingpiaogongnen();//订票功能void?tuipiaogongnen();//退票功能void?main(){??int?n;?do{?//打印主界面??printf(“ ?欢迎使用航空客运订票系统

  “);??printf(“ +++++++++++++++++++++++++++++

  “);??printf(“ ==》.?录入功能?==

  “);??printf(“ ==》.?查询功能?==

  “);??printf(“ ==》.?订票功能?==

  “);??printf(“ ==》.?退票功能?==

  “);??printf(“ ==》.?退出?==

  “);??printf(“ +++++++++++++++++++++++++++++

  “);??printf(“ 请选择:“);??scanf(“%d“,&n);printf(“

  “);??switch(n)??{??case?:?lurugongneng();//录入功能???break;??case?:?chaxungongnen();//查询功能???break;??case?:?dingpiaogongnen();//订票功能???break;??case?:tuipiaogongnen();//退票功能???break;??default?:exit();//退出??}?}while(n==||n==||n==||n==);}void?lurugongneng()//初始化的单链表*********************************************************录入功能{??Linklist?p;?//int?m,n;?if(!p)?exit(OVERFLOW);?printf(“ 请依次输入下面几项内容:

  “);//这里的输入采用一个个单独输入,避免了乱赋值的现象?printf(“航班号

  “);?gets(p-》hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车????gets(p-》hangbanhao);?printf(“飞机号

  “);?gets(p-》feijihao);?printf(“终点站

  “);?gets(p-》zhongdianzhai);?printf(“飞行日期

  “);?scanf(“%d“,&p-》feixingriqi);?printf(“乘客总数

  “);?scanf(“%d“,&p-》chenkerenshu);?printf(“余票数

  “);?scanf(“%d“,&p-》yupiao);?}void?chaxungongnen()//******************************************************************查询功能{?int?n;?printf(“ ?查?找?航?线?信?息

  “);?printf(“ +++++++++++++++++++++++++++++

  “);?printf(“ ==》.?通过目的地查询?==

  “);?printf(“ ==》.?通过航班号查询?==

  “);?printf(“ +++++++++++++++++++++++++++++

  “);?printf(“ 请选择:“);?scanf(“%d“,&n);?printf(“

  “);//格式化?switch(n)?{?case?:mddchaxun();??break;?case?:hbhchaxun();??break;?default?:break;?}}void?mddchaxun()//通过目的地查询{?char?c;?int?m;?Linklist?p=L;?printf(“ 请输入要查询的目的地:“);?gets(c);?gets(c);//原因同上?do{??p=p-》next;??if(p)??{???m=strcmpi((*p).zhongdianzhai,c);//如果==的话则m=;???if(m==)???{????printf(“ 航班信息:

  “);????printf(“ 航班号:%s

  “,p-》hangbanhao);????printf(“ 飞机号:%s

  “,p-》feijihao);????printf(“ 飞行时间:周%d

  “,p-》feixingriqi);????printf(“ 余票量:%d

  “,p-》yupiao);???}??}??else??{//如果不匹配的话就做???printf(“ 对不起没有你要找的目的地:

  “);?m=;??}?}while(m!=);}void?hbhchaxun()//通过目的地查询{?char?c;?int?m;?Linklist?p=L;?printf(“ 请输入要查询的航班号:“);?gets(c);?gets(c);printf(“

  “);?do{??p=p-》next;??if(p)??{???m=strcmpi((*p).hangbanhao,c);//如果==的话则m=;这里的(*p).与p-》的作用是一样的???if(m==)???{????printf(“ 航班信息:

  “);????printf(“ 航班号:%s

  “,p-》hangbanhao);????printf(“ 飞机号:%s

  “,p-》feijihao);????printf(“ 飞行时间:周%d

  “,p-》feixingriqi);????printf(“ 余票量:%d

  “,p-》yupiao);???}??}??else??{//如果不匹配的话就做???printf(“ 对不起没有你要找的航班号:

  “);?m=;??}?}while(m!=);}void?dingpiaogongnen()//***************************************************************订票功能{??char?c;?int?m=,piao,ydpiao=,yd=,n;//?gets(c);?printf(“请输入终点站名:“);?gets(c);?printf(“

  “);?p=L-》next;?if(p)?{??do{//查找一下,是否有这个航班???if(!p)???{????printf(“对不起,没有你要找的航班:

  “);????goto?loop;???}???m=strcmpi(p-》zhongdianzhai,c);???if(m==)???{????printf(“航班信息:

  “);????printf(“航班号:%s

  “,p-》hangbanhao);????printf(“飞机号:%s

  “,p-》feijihao);????printf(“飞行时间:周%d

  “,p-》feixingriqi);????printf(“余票量:%d

  “,p-》yupiao);}???else?p=p-》next;??}while(m!=);??if(m==)??{???do{????printf(“

  请输入你要订的票数:“);?scanf(“%d“,&piao);????if(piao《=p-》yupiao)????{?????h=p-》yiding;?????if(h)?????{??????h=h;??????h=h-》next;??????h=(struct?Yidingkehu*)malloc(sizeof(Yidingkehu));??????printf(“请输入你的名字:“);??????gets(h-》name);gets(h-》name);??????h-》dingpiaoshu=piao;??????h-》next=h-》next;??????h-》next=h;??????p-》yupiao=p-》yupiao-piao;??????printf(“订票成功:

  “);?m=;?????}????}????else????{??????printf(“余票量:%d

  “,p-》yupiao);?????printf(“对不起,余票?%d?张不足,不能完成订票

  “,p-》yupiao);?????printf(“?是否要重新订票?

  “);?????printf(“需要请输入?否则请按?预订请输入?:?“);?????scanf(“%d“,&m);?????printf(“

  “);?????if(m==)?goto?loop;????}???}while(m==);??}?}?else?if(!p)??{loop:?struct?Weidingkehu?*q;printf(“对不起,该航班的票已售完

  “);q.front=p-》yudingqueue;if(q.front==q.rear)?printf(“没有人预订票,是否要预订?

  “);else?if(q.front!=q.rear)?printf(“已有人预订票,是否要预订?

  “);printf(“预订请输入?否则输入?:?“);scanf(“%d“,&n);printf(“

  “);if(n==){??printf(“请输入你的姓名“);?gets(q-》name);?gets(q-》name);//q不能指向name????printf(“请输入订票数“);?scanf(“%d“,&q-》yudingpiao);?q-》next=NULL;?q.rear-》next=q;?q.rear=q;?printf(“?你已经预订了?!

  “);}?}loop:;}void?tuipiaogongnen()//***************************************************************退票功能{?}///////////以下是人家的要求//////////、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地?航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。、本系统显示这样的菜单:()?输入航班信息()?输出航班信息()?查找航班信息a.显示空座的数量b.显示空座的信息c.显示已订座的信息d.起飞时间()订票预约()删除定票预约()退出系统、?本系统成功执行菜单的每个信息,选项和将要求额外的输入,并且它们都允许用户收回其输入。、?查找航班信息既可按线路查,也可按目的地查。、在两次运行之间,数据被保存于一个文件里,当本程序重新开始的时候,它首先从该文件读入数据

  C语言程序写飞机订票系统

  #include《stdio.h》#include《string.h》#include《conio.h》#include《ctype.h》#include《stdlib.h》#include《malloc.h》#include《math.h》//overflow#defineoktypedefstructYidingkehu{//单链表charname;//已订票的客户姓名intdingpiaoshu;//已订票数量structYidingkehu*next;//}Yidingkehu,*Link;typedefstructWeidingkehu{//单链队charname;//预订票的客户姓名intyudingpiao;//要订票数量structWeidingkehu*next;//下一个链队结点指针}Weidingkehu,*Qptr;typedefstructHangxian{//创建一个含有六个信息的结构体charhangbanhao;//航班号-charfeijihao;//飞机号intfeixingriqi;//起飞时间intchenkerenshu;//座位数intyupiao;//余票charzhongdianzhai;//降落城市structHangxian*next;//指向下一个链结点的指针structYidingkehu*yiding;//定义一个指向已订票客户的头结点指针structWeidingkehu*yudingqueue;}Hangxian,*Linklist;LinklistInitLinklist();//intInsertLinklist(Linklist&head);//voidhbhchaxun();//通过航班号查询voidmddchaxun();//通过目的地查询voidlurugongneng();//初始化录入功能voidchaxungongnen();//查询功能voiddingpiaogongnen();//订票功能voidtuipiaogongnen();//退票功能voidmain(){intn;do{//打印主界面printf(“ 欢迎使用航空客运订票系统

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ ==》.录入功能==

  “);printf(“ ==》.查询功能==

  “);printf(“ ==》.订票功能==

  “);printf(“ ==》.退票功能==

  “);printf(“ ==》.退出==

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ 请选择:“);scanf(“%d“,&n);printf(“

  “);switch(n){case:lurugongneng();//录入功能break;case:chaxungongnen();//查询功能break;case:dingpiaogongnen();//订票功能break;case:tuipiaogongnen();//退票功能break;default:exit();//退出}}while(n==||n==||n==||n==);}voidlurugongneng()//初始化的单链表*********************************************************录入功能{Linklistp;//intm,n;if(!p)exit(OVERFLOW);printf(“ 请依次输入下面几项内容:

  “);//这里的输入采用一个个单独输入,避免了乱赋值的现象printf(“航班号

  “);gets(p-》hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车gets(p-》hangbanhao);printf(“飞机号

  “);gets(p-》feijihao);printf(“终点站

  “);gets(p-》zhongdianzhai);printf(“飞行日期

  “);scanf(“%d“,&p-》feixingriqi);printf(“乘客总数

  “);scanf(“%d“,&p-》chenkerenshu);printf(“余票数

  “);scanf(“%d“,&p-》yupiao);}voidchaxungongnen()//******************************************************************查询功能{intn;printf(“ 查找航线信息

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ ==》.通过目的地查询==

  “);printf(“ ==》.通过航班号查询==

  “);printf(“ +++++++++++++++++++++++++++++

  “);printf(“ 请选择:“);scanf(“%d“,&n);printf(“

  “);//格式化switch(n){case:mddchaxun();break;case:hbhchaxun();break;default:break;}}voidmddchaxun()//通过目的地查询{charc;intm;Linklistp=L;printf(“ 请输入要查询的目的地:“);gets(c);gets(c);//原因同上do{p=p-》next;if(p){m=strcmpi((*p).zhongdianzhai,c);//如果==的话则m=;if(m==){printf(“ 航班信息:

  “);printf(“ 航班号:%s

  “,p-》hangbanhao);printf(“ 飞机号:%s

  “,p-》feijihao);printf(“ 飞行时间:周%d

  “,p-》feixingriqi);printf(“ 余票量:%d

  “,p-》yupiao);}}else{//如果不匹配的话就做printf(“ 对不起没有你要找的目的地:

  “);m=;}}while(m!=);}voidhbhchaxun()//通过目的地查询{charc;intm;Linklistp=L;printf(“ 请输入要查询的航班号:“);gets(c);gets(c);printf(“

  “);do{p=p-》next;if(p){m=strcmpi((*p).hangbanhao,c);//如果==的话则m=;这里的(*p).与p-》的作用是一样的if(m==){printf(“ 航班信息:

  “);printf(“ 航班号:%s

  “,p-》hangbanhao);printf(“ 飞机号:%s

  “,p-》feijihao);printf(“ 飞行时间:周%d

  “,p-》feixingriqi);printf(“ 余票量:%d

  “,p-》yupiao);}}else{//如果不匹配的话就做printf(“ 对不起没有你要找的航班号:

  “);m=;}}while(m!=);}voiddingpiaogongnen()//***************************************************************订票功能{charc;intm=,piao,ydpiao=,yd=,n;//gets(c);printf(“请输入终点站名:“);gets(c);printf(“

  “);p=L-》next;if(p){do{//查找一下,是否有这个航班if(!p){printf(“对不起,没有你要找的航班:

  “);gotoloop;}m=strcmpi(p-》zhongdianzhai,c);if(m==){printf(“航班信息:

  “);printf(“航班号:%s

  “,p-》hangbanhao);printf(“飞机号:%s

  “,p-》feijihao);printf(“飞行时间:周%d

  “,p-》feixingriqi);printf(“余票量:%d

  “,p-》yupiao);}elsep=p-》next;}while(m!=);if(m==){do{printf(“

  请输入你要订的票数:“);scanf(“%d“,&piao);if(piao《=p-》yupiao){h=p-》yiding;if(h){h=h;h=h-》next;h=(structYidingkehu*)malloc(sizeof(Yidingkehu));printf(“请输入你的名字:“);gets(h-》name);gets(h-》name);h-》dingpiaoshu=piao;h-》next=h-》next;h-》next=h;p-》yupiao=p-》yupiao-piao;printf(“订票成功:

  “);m=;}}else{printf(“余票量:%d

  “,p-》yupiao);printf(“对不起,余票%d张不足,不能完成订票

  “,p-》yupiao);printf(“是否要重新订票?

  “);printf(“需要请输入否则请按预订请输入:“);scanf(“%d“,&m);printf(“

  “);if(m==)gotoloop;}}while(m==);}}elseif(!p){loop:structWeidingkehu*q;printf(“对不起,该航班的票已售完

  “);q.front=p-》yudingqueue;if(q.front==q.rear)printf(“没有人预订票,是否要预订?

  “);elseif(q.front!=q.rear)printf(“已有人预订票,是否要预订?

  “);printf(“预订请输入否则输入:“);scanf(“%d“,&n);printf(“

  “);if(n==){printf(“请输入你的姓名“);gets(q-》name);gets(q-》name);//q不能指向name???printf(“请输入订票数“);scanf(“%d“,&q-》yudingpiao);q-》next=NULL;q.rear-》next=q;q.rear=q;printf(“你已经预订了!

  “);}}loop:;}voidtuipiaogongnen()//***************************************************************退票功能{}请采纳答案,支持我一下。

  飞机、火车订票系统属于什么方面的计算机应用

  属于数据处理方面的计算机应用。

  数据处理流程主要包括数据收集、数据预处理、数据存储、数据处理与分析、数据展示/数据可视化、数据应用等环节,其中数据质量贯穿于整个大数据流程,每一个数据处理环节都会对大数据质量产生影响作用。

  通常,一个好的数据产品要有大量的数据规模、快速的数据处理、精确的数据分析与预测、优秀的可视化图表以及简练易懂的结果解释。

  数据的分布式处理技术与存储形式、业务数据类型等相关,针对大数据处理的主要计算模型有MapReduce分布式计算框架、分布式内存计算系统、分布式流计算系统等。

  MapReduce是一个批处理的分布式计算框架,可对海量数据进行并行分析与处理,它适合对各种结构化、非结构化数据的处理。分布式内存计算系统可有效减少数据读写和移动的开销,提高大数据处理性能。分布式流计算系统则是对数据流进行实时处理,以保障大数据的时效性和价值性。

  总之,无论哪种大数据分布式处理与计算系统,都有利于提高大数据的价值性、可用性、时效性和准确性。

  大数据的类型和存储形式决定了其所采用的数据处理系统,而数据处理系统的性能与优劣直接影响大数据质量的价值性、可用性、时效性和准确性。因此在进行大数据处理时,要根据大数据类型选择合适的存储形式和数据处理系统,以实现大数据质量的最优化。

  参考资料来源:百度百科——数据处理

您可能感兴趣的文章:

相关文章