中文字幕伊人,国产一级大片黄,www.五月丁香,一级国厂毛片,www.av有码午夜天堂,77女神黄色网,91黄色视频在线观看20分钟

當(dāng)前位置:  > 飛機(jī)專利

飛機(jī)訂票程序

作者: 發(fā)布時(shí)間: 2022-10-08 04:40:26

簡(jiǎn)介:】本篇文章給大家談?wù)劇讹w機(jī)訂票程序》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。本文目錄一覽:
1、飛機(jī)訂票系統(tǒng)設(shè)計(jì) c語(yǔ)言


2、國(guó)內(nèi)的C艙是什么艙位,和F有區(qū)別嗎


3、c語(yǔ)言如何編寫

本篇文章給大家談?wù)劇讹w機(jī)訂票程序》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。

本文目錄一覽:

飛機(jī)訂票系統(tǒng)設(shè)計(jì) c語(yǔ)言

(已修改,請(qǐng)用最新的代碼)代碼說明:

1級(jí)菜單:選擇購(gòu)買的航班號(hào),并顯示對(duì)應(yīng)座位狀態(tài)。

(我只做測(cè)試,所以初始化initFlight函數(shù)中我只初始了2個(gè)航班,需要自己按照我的代碼添)

(注意:實(shí)際開發(fā)軟件,鏈表數(shù)據(jù)是從數(shù)據(jù)庫(kù)中讀取的,需要實(shí)時(shí)同步,如果要多次調(diào)用initFlight函數(shù),記得自己寫一個(gè)釋放內(nèi)存的函數(shù),把所有鏈表“SINFO和FLINFO”節(jié)點(diǎn)都釋放掉,釋放函數(shù)我沒寫,需要你自己寫!?。。?/p>

2級(jí)菜單:選擇購(gòu)買對(duì)應(yīng)座位號(hào),完成購(gòu)買,并實(shí)時(shí)顯示購(gòu)買結(jié)果。

位置編號(hào)、座位最大排數(shù)、艙室類型、折扣等參數(shù)均由常量參數(shù)空值,需要修改自行改常量。

注意:艙室類型(我默認(rèn)3個(gè)類型頭等艙、公務(wù)艙、經(jīng)濟(jì)艙)對(duì)應(yīng)折扣參數(shù):tDiscount二維數(shù)組。如要如要添加新的艙室類型,必須將參數(shù)常量TYPESIZE、typeName、types、tDiscount這4個(gè)同時(shí)修改,具體看代碼備注??!

座位票價(jià)=基礎(chǔ)票價(jià)*類型折扣*時(shí)段折扣。

因?yàn)轱w機(jī)不讓吸煙,所以我沒做吸煙區(qū)(笑),如果你需要,可以作為類型自行添加!

#includestdio.h

#includestdlib.h

#includeconio.h

#includestring.h

#includemalloc.h

#includetime.h

//-----------------------相關(guān)參數(shù),想改變,在這里修改!?。。。。?!-----------------------------

constfloattimeDiscount=1;//時(shí)段折扣,影響所有航班最終價(jià)格,默認(rèn)1

constcharcID[5]="ABCD";//位置編號(hào)

constintmaxRow=20;//位置最大排號(hào)

//注意:如果修改類型數(shù)量,types和tDiscount必須同時(shí)修改!??!

#defineTYPESIZE3//類型數(shù)量

constchartypeName[TYPESIZE][10]={"頭等艙","公務(wù)艙","經(jīng)濟(jì)艙"};

constinttypes[TYPESIZE][2]={{1,2},{3,4},{5,20}};//排號(hào)對(duì)應(yīng)類型。1~2排頭等艙,3~4排公務(wù)艙,5~20排經(jīng)濟(jì)艙

constfloattDiscount[TYPESIZE]={1.5,1.3,1};//類型折扣。頭等艙1.5倍,公務(wù)艙1.3倍,經(jīng)濟(jì)艙1倍

//-------------------------------------------------------------------------------

typedefstructseatInfo//座位信息,一條鏈表對(duì)應(yīng)一個(gè)航班信息,鏈表順序從第一排左邊第一個(gè)開始往后A1~D1,A2~D2。。。

{

charcloID;//位置編號(hào)A、B、C、D

introw;//位置排號(hào)

inttype;//座位所屬類型:0:頭等艙、1:公務(wù)艙、2:經(jīng)濟(jì)艙,不同類型對(duì)應(yīng)不同的類型折扣tDiscount

intsell;//出售狀態(tài),0:未出售;1:已出售

structseatInfo*next;

}SINFO;

typedefstructflightInfo//航班信息

{

charfid[10];//航班號(hào)

time_ttfTime;//起飛時(shí)間

time_tldTime;//降落時(shí)間

chartoCity[20];//抵達(dá)城市

floattPrice;//基礎(chǔ)票價(jià),不同位置具有不同折扣,座位票價(jià)=基礎(chǔ)票價(jià)*類型折扣*時(shí)段折扣

structflightInfo*next;

structseatInfo*sHead;//對(duì)應(yīng)座位鏈表的頭節(jié)點(diǎn)

}FLINFO;

voidmeError(void*p);

SINFO*getSINFO();//獲取座位鏈表

//addFLINFO:添加航班信息鏈表的節(jié)點(diǎn)flinfoHead:頭節(jié)點(diǎn)(第一次傳NULL會(huì)自動(dòng)生成),flinfoTail:尾節(jié)點(diǎn),fNew:要添加的結(jié)構(gòu)信息(成員指針無需賦值)

FLINFO*addFLINFO(FLINFO**ffHead,FLINFO*flinfoTail,FLINFOfNew);//返回尾節(jié)點(diǎn)

time_tgetTime_tfromStr(char*sTime);//將YYYY-MM-DDhh:mm:ss格式的時(shí)間字符串轉(zhuǎn)換成time_t型數(shù)值

FLINFO*initFlight();//初始化航班信息,返回航班鏈表頭節(jié)點(diǎn),如果想手動(dòng)輸入,請(qǐng)?jiān)谶@里添加?。?!正常軟件開發(fā),這一步應(yīng)該是從數(shù)據(jù)庫(kù)讀?。?/p>

char*getTString(structtm*tm0);//通過tm獲取時(shí)間字符串

voidshowSinfo(FLINFO*flinfo);//顯示航班對(duì)應(yīng)座位信息

voidprintfFlinfo(FLINFO*flinfoHead);

FLINFO*selectFlinfo(FLINFO*flinfoHead,char*fid);//選擇航班號(hào),返回節(jié)點(diǎn)

voidshowSinfo(FLINFO*flinfo);//顯示航班對(duì)應(yīng)座位信息

SINFO*selectSinfo(FLINFO*flinfo,char*sid);//選擇座位,返回節(jié)點(diǎn)

intmain()

{

FLINFO*flinfoHead=initFlight(),*ffSelect=NULL;

SINFO*sfSelect=NULL;

charfid[10]={0},sid[10]={10};

while(1)

{

ffSelect=NULL;

sfSelect=NULL;

memset(fid,0,10);

memset(sid,0,10);

printfFlinfo(flinfoHead);

printf("請(qǐng)輸入要購(gòu)買的航班號(hào):");

scanf("%s",fid);

ffSelect=selectFlinfo(flinfoHead,fid);

if(!ffSelect)

{

printf("未找到對(duì)應(yīng)航班,按任意鍵繼續(xù)-----\n");

getch();

system("cls");

continue;

}

system("cls");

printf("航班號(hào):%s座位信息如下:\n",ffSelect-fid);

showSinfo(ffSelect);

printf("請(qǐng)輸入要購(gòu)買的座位編號(hào)(輸入0返回主菜單):");

scanf("%s",sid);

if(!strcmp(sid,"0"))

{

system("cls");

continue;

}

else

{

sfSelect=selectSinfo(ffSelect,sid);

if(!sfSelect||sfSelect-sell)

{

printf("未找到對(duì)應(yīng)座位或該座位已出售,請(qǐng)重新輸入!按任意鍵繼續(xù)-----\n");

getch();

system("cls");

continue;

}

printf("購(gòu)買成功!按任意鍵繼續(xù)-----");

sfSelect-sell=1;

getch();

system("cls");

}

}

return0;

}

SINFO*selectSinfo(FLINFO*flinfo,char*sid)//選擇座位,返回節(jié)點(diǎn)

{

SINFO*sinfoHead=flinfo-sHead;

while(sinfoHead-next)

{

if(sinfoHead-next-cloID==sid[0]sinfoHead-next-row==atoi(sid+1))

returnsinfoHead-next;

sinfoHead=sinfoHead-next;

}

returnNULL;

}

voidshowSinfo(FLINFO*flinfo)//顯示航班對(duì)應(yīng)座位信息

{

SINFO*sinfoHead=flinfo-sHead,*sfp=NULL;

inti,j,k,row=maxRow,clo=strlen(cID);

chartypeStr[10]={0};

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

{

//---------讀取座位所屬艙室------------

memset(typeStr,0,10);

for(k=0;kTYPESIZE;k++)

if(i+1=types[k][0]i+1=types[k][1])

strcpy(typeStr,typeName[k]);

//--------------------------------------

printf("\n");

for(j=0;jclo;j++)

printf("-------------");

printf("\n");

sfp=sinfoHead;

for(j=0;jclo;j++)

{

printf("|%c%02d|",sfp-next-cloID,sfp-next-row);

sfp=sfp-next;

}

printf("\n");

sfp=sinfoHead;

for(j=0;jclo;j++)

{

printf("|%c|",sfp-next-sell?2:1);

sfp=sfp-next;

}

printf("\n");

sfp=sinfoHead;

for(j=0;jclo;j++)

{

printf("|%6s:%4.0f|",typeStr,flinfo-tPrice*tDiscount[sfp-next-type]*timeDiscount);

sfp=sfp-next;

}

printf("\n");

sinfoHead=sfp;

}

for(j=0;iclo;j++)

printf("-------");

printf("\n");

}

FLINFO*selectFlinfo(FLINFO*flinfoHead,char*fid)//選擇航班號(hào),返回節(jié)點(diǎn)

{

while(flinfoHead-next)

{

if(!strcmp(flinfoHead-next-fid,fid))

returnflinfoHead-next;

flinfoHead=flinfoHead-next;

}

returnNULL;

}

voidprintfFlinfo(FLINFO*flinfoHead)

{

while(flinfoHead-next)

{

printf("目的地:%s,航班號(hào):%s\n----起飛時(shí)間:%s,抵達(dá)時(shí)間:%s\n\n",flinfoHead-next-toCity,flinfoHead-next-fid,getTString(localtime(flinfoHead-next-tfTime)),getTString(localtime(flinfoHead-next-ldTime)));

flinfoHead=flinfoHead-next;

}

}

char*getTString(structtm*tm0)//通過tm獲取時(shí)間字符串

{

char*str=(char*)malloc(sizeof(char)*20),num[5]={0};

meError(str);

memset(str,0,20);

sprintf(num,"%4d",tm0-tm_year+1900);

strcat(str,num);

strcat(str,"-");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_mon);

strcat(str,num);

strcat(str,"-");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_mday);

strcat(str,num);

strcat(str,"");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_hour);

strcat(str,num);

strcat(str,":");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_min);

strcat(str,num);

strcat(str,":");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_sec);

strcat(str,num);

returnstr;

}

time_tgetTime_tfromStr(char*sTime)//將YYYY-MM-DDhh:mm:ss格式的時(shí)間字符串轉(zhuǎn)換成time_t型數(shù)值

{

time_trt;

structtm*tm1=NULL;

rt=time(NULL);

tm1=localtime(rt);

sscanf(sTime,("%4d-%2d-%2d%2d:%2d:%2d"),tm1-tm_year,tm1-tm_mon,tm1-tm_mday,tm1-tm_hour,tm1-tm_min,tm1-tm_sec);

tm1-tm_year-=1900;

tm1-tm_mon--;

rt=mktime(tm1);

returnrt;

}

FLINFO*initFlight()//初始化航班信息,返回航班鏈表頭節(jié)點(diǎn),如果想手動(dòng)輸入,請(qǐng)?jiān)谶@里添加?。?!正常軟件開發(fā),這一步應(yīng)該是從數(shù)據(jù)庫(kù)讀??!

{

FLINFO*ffHead=NULL,*flinfoTail=NULL,fNew;

//--------添加一個(gè)航班信息----需要增加按照我下面調(diào)用方式寫--------------------------------

strcpy(fNew.fid,"CI502");

fNew.tfTime=getTime_tfromStr("2019-02-2003:30:30");

fNew.ldTime=getTime_tfromStr("2019-02-2005:20:30");

strcpy(fNew.toCity,"臺(tái)北");

fNew.tPrice=1000;

fNew.next=NULL;

flinfoTail=addFLINFO(ffHead,flinfoTail,fNew);

//--------------------------------------------------------------------------------------------

strcpy(fNew.fid,"9C8921");

fNew.tfTime=getTime_tfromStr("2019-02-2014:30:30");

fNew.ldTime=getTime_tfromStr("2019-02-2016:40:30");

strcpy(fNew.toCity,"香港");

fNew.tPrice=500;

fNew.next=NULL;

flinfoTail=addFLINFO(ffHead,flinfoTail,fNew);

returnffHead;

}

FLINFO*addFLINFO(FLINFO**ffHead,FLINFO*flinfoTail,FLINFOfNew)//返回尾節(jié)點(diǎn)

//添加航班信息鏈表的節(jié)點(diǎn)flinfoHead:頭節(jié)點(diǎn)(第一次傳NULL會(huì)自動(dòng)生成),flinfoTail:尾節(jié)點(diǎn),fNew:要添加的結(jié)構(gòu)信息(成員指針無需賦值)

{

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[0]=0;

strcpy(flinfoNew-fid,fNew.fid);

flinfoNew-ldTime=fNew.ldTime;

flinfoNew-tfTime=fNew.tfTime;

flinfoNew-toCity[0]=0;

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;

returnflinfoTail;

}

SINFO*getSINFO()//獲取座位鏈表

{

intmaxClo=strlen(cID),cnt=maxClo*maxRow,clo=0,row=1,i;

SINFO*sinfoHead=(SINFO*)malloc(sizeof(SINFO)),*sinfoTail=NULL;

meError(sinfoHead);

sinfoHead-next=NULL;

SINFO*sinfoNew=NULL;

while(cnt--)//按順序生成對(duì)應(yīng)數(shù)量的座位鏈表

{

if(clo==maxClo)

clo=0,row++;

if(row==maxRow+1)

row=1;

sinfoNew=(SINFO*)malloc(sizeof(SINFO));

meError(sinfoNew);

sinfoNew-cloID=cID[clo];

sinfoNew-row=row;

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

if(row=types[i][0]row=types[i][1])

{

sinfoNew-type=i;

break;

}

sinfoNew-sell=0;

sinfoNew-next=NULL;

if(sinfoHead-next==NULL)

sinfoHead-next=sinfoNew;

else

sinfoTail-next=sinfoNew;

sinfoTail=sinfoNew;

clo++;

}

returnsinfoHead;

}

voidmeError(void*p)//內(nèi)存申請(qǐng)失敗

{

if(p==NULL)

{

printf("\n異常:內(nèi)存申請(qǐng)失??!回車結(jié)束程序!\n");

while(getch()!='\r');

exit(0);

}

}

國(guó)內(nèi)的C艙是什么艙位,和F有區(qū)別嗎

F艙為頭等艙公布價(jià),

C艙為公務(wù)艙公布價(jià)。

機(jī)票中艙位的不同:

只有三種艙位,頭等艙、公務(wù)艙和經(jīng)濟(jì)艙,對(duì)于普通旅客來講前兩種艙位是不打折的,而這個(gè)所謂艙位用旅客的話講就是對(duì)應(yīng)的折扣,對(duì)于售票處不同的折扣用不同的艙位表示以但于其訂座,代表字母分別是F和C,這三種艙位根據(jù)位置空間的大小和服務(wù)的不同而區(qū)分;而通常所說的折扣機(jī)票,是一種抽象的概念。

實(shí)際在飛機(jī)上海南航空的Q艙代表的是經(jīng)濟(jì)艙六折艙位

經(jīng)濟(jì)艙里面又分不同的座位等級(jí)(艙位代碼為B,價(jià)格也不一樣)折扣艙依次往下排列,這些價(jià)格雖然都屬于經(jīng)濟(jì)艙,這種代碼每個(gè)航空公司的標(biāo)識(shí)都不相同、E不等;

1、國(guó)際客票的艙位等級(jí)主要分為頭等艙(艙位代碼為F A)、公務(wù)艙(艙位代碼為C)、M、X、經(jīng)濟(jì)艙(艙位代碼為Y)、公務(wù)艙(艙位代碼為C D J)。但是在大多數(shù)航線上會(huì)以5.5折的價(jià)格出售,顯示為Q1.

2、國(guó)內(nèi)客票的艙位等級(jí)主要分為頭等艙(艙位代碼為F)、H、L,但是低艙位的價(jià)格享受的服務(wù)和高艙位的不大一樣,最明顯的就是提前預(yù)訂機(jī)上座位與餐食服務(wù)(意思就是即使是提前預(yù)訂好了座位與餐食、經(jīng)濟(jì)艙(艙位代碼為Y),也有不能退票的規(guī)定、K頭等艙與經(jīng)濟(jì)艙有著實(shí)質(zhì)的不同。

像波音737、757這樣的飛機(jī),頭等艙一排4個(gè)座位,經(jīng)濟(jì)艙一排六個(gè)座位,可見頭等艙是寬座位的。另外頭等艙餐飲也要比經(jīng)濟(jì)艙好許多,報(bào)刊雜志也豐富些,空姐對(duì)頭等艙的旅客服務(wù)要更周到、完美些。在飛行過程中頭等艙與經(jīng)濟(jì)艙用一塊布簾隔離開。

經(jīng)濟(jì)艙再分成幾個(gè)艙,那只是概念上的,沒有實(shí)質(zhì)性的不同,整個(gè)飛行過程一切待遇都是一樣的。只因購(gòu)票時(shí)的折扣價(jià)不同而分的艙位,而折扣票也僅是退票、延期、簽轉(zhuǎn)等有較多的限制。

c語(yǔ)言如何編寫飛機(jī)訂票系統(tǒng)?

#includestdio.h

#includestring.h

#includeconio.h

#includectype.h

#includestdlib.h

#includemalloc.h

#includemath.h//overflow

#defineok1

typedefstructYidingkehu

{//單鏈表

charname[15];//已訂票的客戶姓名

intdingpiaoshu;//已訂票數(shù)量

structYidingkehu*next1;//

}Yidingkehu,*Link;

typedefstructWeidingkehu

{//單鏈隊(duì)

charname[15];//預(yù)訂票的客戶姓名

intyudingpiao;//要訂票數(shù)量

structWeidingkehu*next2;//下一個(gè)鏈隊(duì)結(jié)點(diǎn)指針

}Weidingkehu,*Qptr;

typedefstructHangxian

{//創(chuàng)建一個(gè)含有六個(gè)信息的結(jié)構(gòu)體

charhangbanhao[15];//航班號(hào)-

charfeijihao[15];//飛機(jī)號(hào)

intfeixingriqi;//起飛時(shí)間

intchenkerenshu;//座位數(shù)

intyupiao;//余票

charzhongdianzhai[15];//降落城市

structHangxian*next;//指向下一個(gè)鏈結(jié)點(diǎn)的指針

structYidingkehu*yiding;//定義一個(gè)指向已訂票客戶的頭結(jié)點(diǎn)指針

structWeidingkehu*yudingqueue;

}Hangxian,*Linklist;

LinklistInitLinklist();//01

intInsertLinklist(Linklisthead1);//02

voidhbhchaxun();//通過航班號(hào)查詢

voidmddchaxun();//通過目的地查詢

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

voidchaxungongnen();//查詢功能

voiddingpiaogongnen();//訂票功能

voidtuipiaogongnen();//退票功能

voidmain()

{

intn;

do{//打印主界面

printf("\t歡迎使用航空客運(yùn)訂票系統(tǒng)\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請(qǐng)選擇:");

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請(qǐng)依次輸入下面幾項(xiàng)內(nèi)容:\n\n");//這里的輸入采用一個(gè)個(gè)單獨(dú)輸入,避免了亂賦值的現(xiàn)象

printf("航班號(hào)\n");

gets(p-hangbanhao);//這里的二個(gè)gets主要是因?yàn)樵诨剀囨I的輸入,其中的第一個(gè)是來接收上次的回車

gets(p-hangbanhao);

printf("飛機(jī)號(hào)\n");

gets(p-feijihao);

printf("終點(diǎn)站\n");

gets(p-zhongdianzhai);

printf("飛行日期\n");

scanf("%d",p-feixingriqi);

printf("乘客總數(shù)\n");

scanf("%d",p-chenkerenshu);

printf("余票數(shù)\n");

scanf("%d",p-yupiao);

}

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

{

intn;

printf("\t查找航線信息\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1.通過目的地查詢==\n");

printf("\t==2.通過航班號(hào)查詢==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);

printf("\n");//格式化

switch(n)

{

case1:mddchaxun();

break;

case2:hbhchaxun();

break;

default:break;

}

}

voidmddchaxun()//通過目的地查詢

{

charc[15];

intm;

Linklistp=L;

printf("\t請(qǐng)輸入要查詢的目的地:");

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航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒有你要找的目的地:\n\n");m=0;

}

}while(m!=0);

}

voidhbhchaxun()//通過目的地查詢

{

charc[15];

intm;

Linklistp=L;

printf("\t請(qǐng)輸入要查詢的航班號(hào):");

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航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒有你要找的航班號(hào):\n");m=0;

}

}while(m!=0);

}

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

{

charc[15];

intm=1,piao,ydpiao=0,yd=0,n;//

gets(c);

printf("請(qǐng)輸入終點(diǎn)站名:");gets(c);printf("\n");

p=L-next;

if(p){

do{//查找一下,是否有這個(gè)航班

if(!p)

{

printf("對(duì)不起,沒有你要找的航班:\n\n");

gotoloop1;

}

m=strcmpi(p-zhongdianzhai,c);

if(m==0)

{

printf("航班信息:\n");

printf("航班號(hào):%s\n",p-hangbanhao);

printf("飛機(jī)號(hào):%s\n",p-feijihao);

printf("飛行時(shí)間:周%d\n",p-feixingriqi);

printf("余票量:%d\n",p-yupiao);}

elsep=p-next;

}while(m!=0);

if(m==0)

{

do{

printf("\n請(qǐng)輸入你要訂的票數(shù):");scanf("%d",piao);

if(piao=p-yupiao)

{

h=p-yiding;

if(h)

{

h1=h;

h=h-next1;

h=(structYidingkehu*)malloc(sizeof(Yidingkehu));

printf("請(qǐng)輸入你的名字:");

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("對(duì)不起,余票%d張不足,不能完成訂票\n\n",p-yupiao);

printf("是否要重新訂票?\n");

printf("需要請(qǐng)輸入1否則請(qǐng)按2預(yù)訂請(qǐng)輸入3:");

scanf("%d",m);

printf("\n");

if(m==3)gotoloop3;

}

}while(m==1);

}

}

elseif(!p)

{

loop3:structWeidingkehu*q3;

printf("對(duì)不起,該航班的票已售完\n");

q.front=p-yudingqueue;

if(q.front==q.rear)printf("沒有人預(yù)訂票,是否要預(yù)訂?\n");

elseif(q.front!=q.rear)printf("已有人預(yù)訂票,是否要預(yù)訂?\n");

printf("預(yù)訂請(qǐng)輸入1否則輸入2:");

scanf("%d",n);

printf("\n");

if(n==1)

{

printf("請(qǐng)輸入你的姓名");gets(q3-name);gets(q3-name);//q3不能指向name???

printf("請(qǐng)輸入訂票數(shù)");scanf("%d",q3-yudingpiao);

q3-next2=NULL;

q.rear-next2=q3;

q.rear=q3;

printf("你已經(jīng)預(yù)訂了!\n");

}

}

loop1:;

}

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

{

}

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

1、本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:起飛地、目的地航班號(hào)、座次號(hào)碼、座次訂出與否標(biāo)記、訂座者的姓名和訂座者的身份證號(hào)碼。

2、本系統(tǒng)顯示這樣的菜單:

(1)輸入航班信息

(2)輸出航班信息

(3)查找航班信息

a.顯示空座的數(shù)量

b.顯示空座的信息

c.顯示已訂座的信息

d.起飛時(shí)間

(4)訂票預(yù)約

(5)刪除定票預(yù)約

(6)退出系統(tǒng)

1、本系統(tǒng)成功執(zhí)行菜單的每個(gè)信息,選項(xiàng)4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。

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

4、在兩次運(yùn)行之間,數(shù)據(jù)被保存于一個(gè)文件里,當(dāng)本程序重新開

始的時(shí)候,它首先從該文件讀入數(shù)據(jù)

關(guān)于《飛機(jī)訂票程序》的介紹到此就結(jié)束了。

尚華空乘 - 航空資訊_民航新聞_最新航空動(dòng)態(tài)資訊
備案號(hào):滇ICP備2021006107號(hào)-341 版權(quán)所有:蓁成科技(云南)有限公司    網(wǎng)站地圖
本網(wǎng)站文章僅供交流學(xué)習(xí),不作為商用,版權(quán)歸屬原作者,部分文章推送時(shí)未能及時(shí)與原作者取得聯(lián)系,若來源標(biāo)注錯(cuò)誤或侵犯到您的權(quán)益煩請(qǐng)告知,我們將立即刪除。