版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
整理為word格式整理為word格式整理為word格式摘要飛機(jī)在現(xiàn)代的生活中扮演者非常重要的角色。它能夠快速的把人們送到自己想要去的地方,既快速,又方便。所以現(xiàn)在坐飛機(jī)時(shí)很普遍的。但是都到機(jī)場(chǎng)去買(mǎi)票浪費(fèi)時(shí)間,因此,航空訂票系統(tǒng)應(yīng)運(yùn)而生。有了航空訂票系統(tǒng),用戶(hù)可以在該系統(tǒng)進(jìn)行飛機(jī)票的查詢(xún),訂票,退票等操作。方便了大家關(guān)鍵詞航空訂票系統(tǒng)、查詢(xún)、訂票、退票整理為word格式整理為word格式整理為word格式目錄TOC\o"1-3"\h\z\u7144摘要 I278641需求分析 223351.1需求概述 2167231.2需求環(huán)境 2105701.3功能描述 2226892概要設(shè)計(jì) 325842.1程序功能模塊 360602.2程序流程圖 3101672.3課程設(shè)計(jì)的思想 3125923詳細(xì)設(shè)計(jì) 4317903.1程序初始化 4267253.1.1代碼功能 4291483.1.2功能實(shí)現(xiàn)代碼 425803.2查詢(xún)航班信息 617273.2.1代碼功能 6223273.2.3功能實(shí)現(xiàn)代碼 738653.3訂票模塊 8137023.3.1代碼功能 8149023.3.2功能實(shí)現(xiàn)代碼 8239824測(cè)試與運(yùn)行 145結(jié)束語(yǔ)166參考文獻(xiàn)177附錄18整理為word格式整理為word格式整理為word格式整理為word格式整理為word格式整理為word格式1需求分析1.1需求概述航線管理。每條航線所涉及的信息有:終點(diǎn)站名、航班號(hào)、飛機(jī)號(hào)、飛行周日(星期幾)、乘員定額、余票量客戶(hù)管理。有關(guān)訂票的客房信息(包括姓名、訂票量、艙位等級(jí)(1,2和3)以及等替補(bǔ)的客房名單(包括姓名、所需標(biāo)量)。系統(tǒng)實(shí)現(xiàn)主要操作操作和功能。系統(tǒng)實(shí)現(xiàn)的主要操作規(guī)程和功能如下:查詢(xún)航線。根據(jù)旅客提出的終點(diǎn)站名輸出下列信息:航班號(hào)、飛機(jī)號(hào)、飛行日期、余標(biāo)額。承辦訂票業(yè)務(wù)。根據(jù)客戶(hù)提出的要求(航班號(hào)、訂票數(shù)額)查詢(xún)?cè)摵桨嗥鳖~情況,若有余票,則為客戶(hù)辦理訂票手續(xù),輸出座位號(hào);若已滿(mǎn)或者余票少于訂票額,則需要重新詢(xún)問(wèn)客戶(hù)要求;若需要,可等待排隊(duì)侯補(bǔ)承辦退票業(yè)務(wù)。根據(jù)客戶(hù)提供的情況(日期、航班),為客戶(hù)輸退票手續(xù),然后查詢(xún)?cè)摵桨嗍欠裼腥伺抨?duì)候補(bǔ),首先詢(xún)問(wèn)排在第一的客戶(hù),若所退票額滿(mǎn)足該客戶(hù)的要求,則為其訂票手續(xù),否則依次詢(xún)問(wèn)其他排隊(duì)候補(bǔ)的客戶(hù)。整理為word格式整理為word格式整理為word格式1.2需求環(huán)境本課程設(shè)計(jì)需要的設(shè)備為硬件要求和軟件配置要求具體要求如下:①硬件要求:一臺(tái)計(jì)算機(jī)。②軟件配置:WINDOWS7/VC++6.0。1.3功能描述本次課程設(shè)計(jì)是航空訂票系統(tǒng)主要是由查詢(xún)航班信息,訂票還有退票三大主要功能。除此之外,還有系統(tǒng)的界面等等。整理為word格式整理為word格式整理為word格式2概要設(shè)計(jì)2.1程序功能模塊由需求分析知,本次課程設(shè)計(jì)是航空訂票系統(tǒng)其主要由三大模塊構(gòu)成,即查詢(xún)模塊(這部分由我負(fù)責(zé)),訂票系統(tǒng)模塊和退票系統(tǒng)模塊構(gòu)成。2.2程序流程圖開(kāi)始該程序開(kāi)始運(yùn)行后開(kāi)始進(jìn)如航空訂票系統(tǒng)用戶(hù)可以進(jìn)行航班航空訂票系統(tǒng)信息的查詢(xún),訂票航空訂票系統(tǒng)和退票操作。退票系統(tǒng)模塊查詢(xún)模塊訂票系統(tǒng)模塊退票系統(tǒng)模塊查詢(xún)模塊訂票系統(tǒng)模塊使用結(jié)束,退出系統(tǒng)使用結(jié)束,退出系統(tǒng)圖2.1為該系統(tǒng)總的流程圖2.3課程設(shè)計(jì)的思想由需求分析知道需要實(shí)現(xiàn)幾個(gè)功能定義了兩個(gè)結(jié)構(gòu)體。這兩個(gè)結(jié)構(gòu)體分別用來(lái)表示顧客信息和航班信息。有結(jié)構(gòu)體可以知道一些基本信息,比如顧客的姓名,定的機(jī)票和航班的時(shí)間等等信息。使得實(shí)驗(yàn)代碼的可讀性大大增強(qiáng)。整理為word格式整理為word格式整理為word格式3詳細(xì)設(shè)計(jì)3.1程序初始化3.1.1代碼功能這一塊還是由我負(fù)責(zé)。我初始化了五個(gè)航班的基本信息。在初始化程序中,主要是航班的基本信息。比如航班號(hào),出發(fā)時(shí)間和剩下的機(jī)票數(shù)目等等基本信息。通過(guò)運(yùn)用指針和鏈表來(lái)進(jìn)行對(duì)初始化信息的書(shū)寫(xiě)。在初始化時(shí)將三個(gè)重點(diǎn)的信息分別初始化為:廣州航班號(hào)005飛機(jī)號(hào)PZH113機(jī)票數(shù)120天津航班號(hào)004飛機(jī)號(hào)PZH121機(jī)票數(shù)120北京航班號(hào)003飛機(jī)號(hào)PZH133機(jī)票數(shù)120④上海航班號(hào)002飛機(jī)號(hào)PZH132機(jī)票數(shù)120⑤成都航班號(hào)001飛機(jī)號(hào)PZH122機(jī)票數(shù)1203.1.2功能實(shí)現(xiàn)代碼voidInitLine() //初始化航線信息{airline*p,*q;//航線L=(airline*)malloc(sizeof(airline));L->booked=NULL;L->wait=NULL;L->next=NULL;strcpy(L->end_addr,"00000000");//終點(diǎn)站strcpy(L->line_num,"000");//航班號(hào)strcpy(L->plant_num,"0000000");//飛機(jī)號(hào)L->day=L->left=L->total=0;q=L;p=(airline*)malloc(sizeof(airline));//廣州p->booked=NULL;p->wait=NULL;strcpy(p->end_addr,"廣州");strcpy(p->line_num,"005");strcpy(p->plant_num,"PZH113");整理為word格式整理為word格式整理為word格式p->day=5;p->left=120;p->total=120;p->next=q->next;q->next=p;p=(airline*)malloc(sizeof(airline));//天津p->booked=NULL;p->wait=NULL;strcpy(p->end_addr,"天津");strcpy(p->line_num,"004");strcpy(p->plant_num,"PZH121");p->day=4;p->left=120;p->total=120;p->next=q->next;q->next=p;p=(airline*)malloc(sizeof(airline));//北京p->booked=NULL;p->wait=NULL;strcpy(p->end_addr,"北京");strcpy(p->line_num,"003");strcpy(p->plant_num,"PZH133");p->day=1;p->left=120;p->total=120;p->next=q->next;q->next=p;p=(airline*)malloc(sizeof(airline));//上海p->booked=NULL;p->wait=NULL;strcpy(p->end_addr,"上海");整理為word格式整理為word格式整理為word格式strcpy(p->line_num,"002");strcpy(p->plant_num,"PZH132");p->day=2;p->left=120;p->total=120;p->next=q->next;q->next=p;p=(airline*)malloc(sizeof(airline));//成都p->booked=NULL;p->wait=NULL;strcpy(p->end_addr,"成都");strcpy(p->line_num,"001");strcpy(p->plant_num,"PZH122");p->day=3;p->left=120;p->total=120;p->next=q->next;q->next=p;}3.2查詢(xún)航班信息3.2.1代碼功能此模塊主要由我負(fù)責(zé),在此模塊我實(shí)現(xiàn)了查詢(xún)航班的功能。當(dāng)進(jìn)入查詢(xún)功能時(shí),通過(guò)輸入數(shù)字用戶(hù)可以查詢(xún)航班的基本信息,比如目的地,剩下的機(jī)票數(shù)目,出發(fā)的時(shí)間等等基本信息。如果輸入的數(shù)字在界面中沒(méi)有顯示則會(huì)提示用戶(hù)沒(méi)有這次航班。在這個(gè)模塊我使用了個(gè)switch語(yǔ)句來(lái)實(shí)現(xiàn)對(duì)查詢(xún)方式的選擇。通過(guò)判斷輸入的數(shù)字進(jìn)入到相對(duì)應(yīng)的查詢(xún)方式。如果輸入的信息有誤的話,系統(tǒng)將會(huì)提示用戶(hù)沒(méi)有這次航班,需要重新輸入。整理為word格式整理為word格式整理為word格式3.2.2查詢(xún)模塊流程圖查詢(xún)查詢(xún)43214321航班終點(diǎn)飛行日期飛機(jī)號(hào)航班號(hào)航班終點(diǎn)飛行日期飛機(jī)號(hào)航班號(hào)3.2.2查詢(xún)模塊的流程圖在該模塊用戶(hù)可以進(jìn)行查詢(xún)功能。用戶(hù)根據(jù)提示可以按照航班號(hào)、飛機(jī)號(hào)、飛行日期和航班重點(diǎn)來(lái)查詢(xún)航班的基本信息。這些基本信息包括了飛行航班號(hào)、飛機(jī)號(hào)、剩余票量和處罰日期等等。在該模塊用戶(hù)必須根據(jù)提示進(jìn)行輸入,否則系統(tǒng)會(huì)提示輸入有誤,需要重新輸入。3.2.3功能實(shí)現(xiàn)代碼voidsearch() //航班查詢(xún)系統(tǒng){inti;intflag=0;airline*p;PR("請(qǐng)輸入查詢(xún)航班的方式:\n");PR("航班號(hào)>1\n");PR("飛機(jī)號(hào)>2\n");PR("飛行日期-->3\n");PR("航班終點(diǎn)-->4\n");SC("%d",&i);for(;!flag;)switch(i)//switch語(yǔ)句來(lái)進(jìn)行航班的查詢(xún)方式整理為word格式整理為word格式整理為word格式{case1:p=search_line();flag=1;break;case2:p=search_plant();flag=1;break;case3:p=search_day();flag=1;break;case4:p=search_addr();flag-=1;break;default:PR("操作錯(cuò)誤,請(qǐng)重新輸入\n");break;}if(p){PR("終點(diǎn)站航班號(hào)飛機(jī)號(hào)飛行周日余票量\n");PR("%-20s%10s%10s%8d%8d\n",p->end_addr,p->line_num,p->plant_num,p->day,p->left);PR("是否訂票(確定請(qǐng)按1)");SC("%d",&i);if(i==1)book();}elsePR("沒(méi)有該航班\n");}3.3訂票模塊3.3.1代碼功能在此模塊可以根據(jù)提示可以從航班號(hào),飛行日期和終點(diǎn)站來(lái)進(jìn)行訂票。如果訂票時(shí)余票不足所需要的票的數(shù)目時(shí)就可以進(jìn)行排隊(duì)購(gòu)票選擇。3.3.2功能實(shí)現(xiàn)代碼voidbook() //訂票系統(tǒng){ inti; intflag=0; airline*p; customer*cst,*c; PR("請(qǐng)輸入查詢(xún)航班的方式:\n"); PR("航班號(hào)>1\n");整理為word格式整理為word格式整理為word格式 PR("終點(diǎn)站>2\n"); PR("飛行日期->3\n"); for(;!flag;) { SC("%d",&i); switch(i)//運(yùn)用一個(gè)switch語(yǔ)句進(jìn)行航班查詢(xún) { case1:p=search_line();flag=1;break; case2:p=search_addr();flag=1;break; case3:p=search_day();flag=1;break; default:PR("操作錯(cuò)誤,請(qǐng)重新輸入\n");break; } } if(p) { PR("終點(diǎn)站航班號(hào)飛機(jī)號(hào)飛行周日余票量\n"); PR("%-20s%10s%10s%8d%8d\n",p->end_addr,p->line_num,p->plant_num,p->day,p->left); cst=(customer*)malloc(sizeof(customer)); PR("請(qǐng)輸入訂票數(shù)量:"); SC("%d",&cst->num); PR("請(qǐng)輸入艙位等級(jí)(1/2/3)"); SC("%d",&cst->level); PR("請(qǐng)輸入您的名字"); SC("%s",cst->name); if(cst->num<=p->left) { cst->next=p->booked; p->booked=cst; p->left=p->left-cst->num; PR("訂票成功,座位號(hào)為%d~%d\n",p->total-p->left-cst->num+1,p->total-p->left); } else//當(dāng)需要的飄得數(shù)量大于剩余的票數(shù)的時(shí)候進(jìn)行詢(xún)問(wèn)是否進(jìn)行排隊(duì)購(gòu)票 { PR("余票不足,是否排隊(duì)等候\n是(y)\n否(n)\n"); SC("%d",&flag); if(flag) { if(!p->wait) {整理為word格式整理為word格式整理為word格式 cst->next=p->wait; p->wait=cst; } else { c=p->wait; for(;c->next;c=c->next); cst->next=c->next; c->next=cst; } } } } else PR("沒(méi)有該航班\n"); guide();}排隊(duì)訂票時(shí)的排隊(duì)訂票系統(tǒng):voidwaited(airline*p) //排隊(duì)訂票系統(tǒng){ intflag; customer*q,*q0,*h; if(!p->wait)return; q=(customer*)malloc(sizeof(customer)); q->level=0; q->num=123; strcpy(q->name,"00000"); q->next=p->wait; h=q; for(;p->left>0&&q->next;) { if(q->next->num<p->left) { PR("%s,您正在排隊(duì)定%d張票,現(xiàn)有票,是否定\n是(y)\n否(n)\n",q->next->name,q->next->num); SC("%d",&flag); if(flag) { q0=q->next; q->next=q->next->next; q0->next=p->booked;整理為word格式整理為word格式整理為word格式 p->booked=q0; p->left=p->left-q0->num; PR("排隊(duì)訂票成功\n\n"); } else q=q->next; } else q=q->next; } p->wait=h->next;}3.4退票系統(tǒng)模塊3.4.1代碼功能在此模塊,用戶(hù)可以根據(jù)系統(tǒng)的提示進(jìn)行退票操作。當(dāng)進(jìn)行退票操作時(shí)需要進(jìn)行信息的核對(duì),如果正確,打印出信息,再詢(xún)問(wèn)是否退票。3.4.2功能實(shí)現(xiàn)代碼voidrefund() //退票系統(tǒng){ intflag; chara[20]; airline*p; customer*c,*c1; p=search_line(); c=p->booked; if(!p) { PR("沒(méi)有該航班\n\n"); guide(); return; } PR("請(qǐng)輸入您的姓名"); SC("%s",a); if(!p->booked->name)//進(jìn)行信息的查找判斷是否有用戶(hù)的信息 { PR("對(duì)不起,沒(méi)有找到您的信息\n\n"); guide(); return; }整理為word格式整理為word格式整理為word格式 if(!strcmp(a,p->booked->name))//核對(duì)完信息后輸出要退票乘客的信息 { PR("退票信息\n姓名/終點(diǎn)站/票數(shù)\n%s/%s/%d\n",p->booked->name,p->end_addr,p->booked->num); PR("確認(rèn)要退票\n是(y)\n否(n)\n"); scanf("%d",&flag); if(flag) { p->booked=p->booked->next; p->left=p->left+c->num; free(c); PR("退票成功\n\n"); waited(p); guide(); } } else { for(;c->next;c=c->next) if(!strcmp(a,c->next->name)) break; if(!c->next) { PR("對(duì)不起,沒(méi)有找到您的信息\n\n"); guide(); return; } else { PR("退票信息\n姓名/終點(diǎn)站/票數(shù)\n%s/%s/%d\n",c->next->name,p->end_addr,c->next->num); PR("確認(rèn)要退票?\n是(y)\n否(n)\n");//詢(xún)問(wèn)是否退票 scanf("%d",&flag); if(flag) { c1=c->next; c->next=c->next->next; p->left=p->left+c1->num; free(c1); PR("退票成功\n\n"); waited(p); guide(); } }整理為word格式整理為word格式整理為word格式 }}以上三個(gè)模塊是改程序最主要的功能實(shí)現(xiàn)的代碼。初次之外還有部分其他顯示模塊。整理為word格式整理為word格式整理為word格式4測(cè)試與運(yùn)行由需求分析可知該程序運(yùn)行后實(shí)現(xiàn)功能后的結(jié)果。此處是功能界面,用戶(hù)可以按照提示進(jìn)行操作進(jìn)行查詢(xún)功能時(shí):整理為word格式整理為word格式整理為word格式進(jìn)行查詢(xún)模塊式會(huì)顯示出查詢(xún)方式,按照查詢(xún)方式可以準(zhǔn)確的得到航班的信息進(jìn)行訂票模塊時(shí):在此處模塊,訂票可以根據(jù)提示進(jìn)行購(gòu)票,可以訂多張票,輸入艙位的等級(jí)和訂票人名字排隊(duì)訂票系統(tǒng):如果該航班剩余的票量小于所要購(gòu)買(mǎi)的數(shù)量,則會(huì)提示是否進(jìn)行排隊(duì)購(gòu)票。整理為word格式整理為word格式整理為word格式退票系統(tǒng):在該模塊,進(jìn)行退票操作時(shí),系統(tǒng)會(huì)進(jìn)行信息的核對(duì),如果正確,將會(huì)顯示客戶(hù)的信息。然后提示是否退票。整理為word格式整理為word格式整理為word格式5結(jié)束語(yǔ)此次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)為航空訂票系統(tǒng)。在寫(xiě)程序的時(shí)候還是遇到了很多的問(wèn)題。有些功能怎么也實(shí)現(xiàn)不了。經(jīng)過(guò)和同學(xué)的探討還有上網(wǎng)查找資料,最后終于克服了這些問(wèn)題,成功的運(yùn)行出了程序。通過(guò)這次學(xué)習(xí),使我對(duì)編寫(xiě)程序的興趣更大了。除此之外,此次課程設(shè)計(jì)幫我們熟練地運(yùn)用所學(xué)習(xí)的知識(shí),還讓我們熟練的去融合他們,寫(xiě)出一個(gè)全新的程序來(lái)。在這次課程設(shè)計(jì)中要衷心的感謝老師對(duì)我們的幫助,使得我們對(duì)所學(xué)知識(shí)的熟練運(yùn)用??偠灾?,這次的課程設(shè)計(jì)既有趣又訓(xùn)練了我們對(duì)知識(shí)的運(yùn)用。整理為word格式整理為word格式整理為word格式6參考文獻(xiàn)[1]阮宏一,魯靜《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)C/C++描述》.電子工業(yè)出版社[2]馬巧梅,龐曉瓊等.《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)案例教程》第三版.人民郵電出版社[3]袁蔚敏.《數(shù)據(jù)結(jié)構(gòu)》清華大學(xué)出版社整理為word格式整理為word格式整理為word格式7源代碼源代碼:#include<stdio.h>#include<malloc.h>#include<stdlib.h>#include<string.h>#definePRprintf#defineSCscanftypedefstructcustomer //客戶(hù)信息{ charname[20]; //客戶(hù)姓名 intnum; //訂票量 intlevel; //艙位等級(jí) customer*next;}customer,*Lcustomer;typedefstructairline //航線信息{ charend_addr[20]; //航線終點(diǎn) charline_num[5]; //航班號(hào) charplant_num[8]; //飛機(jī)號(hào) intday; //飛行日期 inttotal; //定員 intleft; //剩余票數(shù) customer*booked; //已定客戶(hù)信息 customer*wait; //排隊(duì)等候訂票信息 airline*next;}airline,*Lairline;airline*L; //將航班信息定義為全局變量,減少參數(shù)傳遞Lairlinesearch_line() //按航班號(hào)查找航班{ chara[5]; airline*p; p=L->next; PR("請(qǐng)輸入航班號(hào)"); SC("%s",a); for(;p;p=p->next) if(!strcmp(a,p->line_num))break; returnp;}整理為word格式整理為word格式整理為word格式Lairlinesearch_plant() //按飛機(jī)號(hào)查找航班{ chara[8]; airline*p; p=L->next; PR("請(qǐng)輸入飛機(jī)號(hào)"); SC("%s",a); for(;p;p=p->next) if(!strcmp(a,p->plant_num))break; returnp;}Lairlinesearch_day() //按飛行日期查找航班{ inta; airline*p; p=L->next; PR("請(qǐng)輸入飛行日期"); SC("%d",&a); for(;p;p=p->next) if(a==p->day)break; returnp;}Lairlinesearch_addr() //按航班終點(diǎn)查找航班{ chara[20]; airline*p; p=L->next; PR("請(qǐng)輸入航班終點(diǎn)"); SC("%s",a); for(;p;p=p->next) if(!strcmp(a,p->end_addr))break; returnp;}voidguide() //主菜單界面{ PR("航空訂票客服系統(tǒng)\n"); PR("==============================================\n"); PR("\t\t顯示所有航線==>1\n");整理為word格式整理為word格式整理為word格式 PR("\t\t查詢(xún)航線信息==>2\n"); PR("\t\t訂票業(yè)務(wù)==>3\n"); PR("\t\t退票業(yè)務(wù)==>4\n"); PR("\t\t退出系統(tǒng)==>0\n"); PR("==============================================\n"); PR("\t\t清除屏幕信息==>9\n\n"); PR("請(qǐng)按上面指引操作:\t");}voidprint_customer(airline*p) //顯示航班客戶(hù)信息{ customer*c; if(p->booked) { c=p->booked; PR("已定票客戶(hù)信息\n票數(shù)\t/\t客戶(hù)姓名\n"); for(;c;c=c->next) PR("%5d\t/\t%s\n",c->num,c->name); PR("\n\n"); } else PR("暫時(shí)沒(méi)有客戶(hù)訂票\n\n"); if(p->wait) { c=p->wait; PR("排隊(duì)訂票客戶(hù)信息\n票數(shù)\t/\t客戶(hù)姓名\n"); for(;c;c=c->next) PR("%5d\t/\t%s\n",c->num,c->name); PR("\n\n"); } else PR("暫時(shí)沒(méi)有客戶(hù)排隊(duì)訂票\n\n");}voidbook() //訂票系統(tǒng){ inti; intflag=0; airline*p; customer*cst,*c;整理為word格式整理為word格式整理為word格式 PR("請(qǐng)輸入查詢(xún)航班的方式:\n"); PR("航班號(hào)>1\n"); PR("終點(diǎn)站>2\n"); PR("飛行日期->3\n"); for(;!flag;) { SC("%d",&i); switch(i) { case1:p=search_line();flag=1;break; case2:p=search_addr();flag=1;break; case3:p=search_day();flag=1;break; default:PR("操作錯(cuò)誤,請(qǐng)重新輸入\n");break; } } if(p) { PR("終點(diǎn)站航班號(hào)飛機(jī)號(hào)飛行周日余票量\n"); PR("%-20s%10s%10s%8d%8d\n",p->end_addr,p->line_num,p->plant_num,p->day,p->left); cst=(customer*)malloc(sizeof(customer)); PR("請(qǐng)輸入訂票數(shù)量:"); SC("%d",&cst->num); PR("請(qǐng)輸入艙位等級(jí)(1/2/3)"); SC("%d",&cst->level); PR("請(qǐng)輸入您的名字"); SC("%s",cst->name); if(cst->num<=p->left) { cst->next=p->booked; p->booked=cst; p->left=p->left-cst->num; PR("訂票成功,座位號(hào)為%d~%d\n",p->total-p->left-cst->num+1,p->total-p->left); } else { PR("余票不足,是否排隊(duì)等候?\n是(y)\n否(n)\n"); SC("%d",&flag); if(flag) { if(!p->wait)整理為word格式整理為word格式整理為word格式 { cst->next=p->wait; p->wait=cst; } else { c=p->wait; for(;c->next;c=c->next); cst->next=c->next; c->next=cst; } } } } else PR("沒(méi)有該航班\n"); guide();}voidwaited(airline*p) //排隊(duì)訂票系統(tǒng){ intflag; customer*q,*q0,*h; if(!p->wait)return; q=(customer*)malloc(sizeof(customer)); q->level=0; q->num=123; strcpy(q->name,"00000"); q->next=p->wait; h=q; for(;p->left>0&&q->next;) { if(q->next->num<p->left) { PR("%s,您正在排隊(duì)定%d張票,現(xiàn)有票,是否定\n是(y)\n否(n)\n",q->next->name,q->next->num); SC("%d",&flag); if(flag) { q0=q->next; q->next=q->next->next; q0->next=p->booked; p->booked=q0; p->left=p->left-q0->num;整理為word格式整理為word格式整理為word格式 PR("排隊(duì)訂票成功\n\n"); } else q=q->next; } else q=q->next; } p->wait=h->next;}voidrefund() //退票系統(tǒng){ intflag; chara[20]; airline*p; customer*c,*c1; p=search_line(); c=p->booked; if(!p) { PR("沒(méi)有該航班\n\n"); guide(); return; } PR("請(qǐng)輸入您的姓名"); SC("%s",a); if(!p->booked->name) { PR("對(duì)不起,沒(méi)有找到您的信息\n\n"); guide(); return; } if(!strcmp(a,p->booked->name)) { PR("退票信息\n姓名/終點(diǎn)站/票數(shù)\n%s/%s/%d\n",p->booked->name,p->end_addr,p->booked->num); PR("確認(rèn)要退票?\n是(y)\n否(n)\n"); scanf("%d",&flag); if(flag) { p->booked=p->booked->next; p->left=p->left+c->num; free(c);整理為word格式整理為word格式整理為word格式 PR("退票成功\n\n"); waited(p); guide(); } } else { for(;c->next;c=c->next) if(!strcmp(a,c->next->name)) break; if(!c->next) { PR("對(duì)不起,沒(méi)有找到您的信息\n\n"); guide(); return; } else { PR("退票信息\n姓名/終點(diǎn)站/票數(shù)\n%s/%s/%d\n",c->next->name,p->end_addr,c->next->num); PR("確認(rèn)要退票?\n是(y)\n否(n)\n"); scanf("%d",&flag); if(flag) { c1=c->next; c->next=c->next->next; p->left=p->left+c1->num; free(c1); PR("退票成功\n\n"); waited(p); guide(); } } }}voidsearch() //航班查詢(xún)系統(tǒng){ inti; intflag=0; airline*p; PR("請(qǐng)輸入查詢(xún)航班的方式:\n"); PR("航班號(hào)>1\n");整理為word格式整理為word格式整理為word格式 PR("飛機(jī)號(hào)>2\n"); PR("飛行日期-->3\n"); PR("航班終點(diǎn)-->4\n"); SC("%d",&i); for(;!flag;) switch(i) { case1:p=search_line();flag=1;break; case2:p=search_plant();flag=1;break; case3:p=search_day();flag=1;break; case4:p=search_addr();flag-=1;break; default:PR("操作錯(cuò)誤,請(qǐng)重新輸入\n");break; } if(p) { PR("終點(diǎn)站航班號(hào)飛機(jī)號(hào)飛行周日余票量\n"); PR("%-20s%10s%10s%8d%8d\n",p->end_addr,p->line_num,p->plant_num,p->day,p->left); PR("是否訂票(確定請(qǐng)按1)"); SC("%d",&i); if(i==1) book(); } else PR("沒(méi)有該航班\n");}voidInitLine() //初始化航線信息{ airline*p,*q; L=(airline*)malloc(sizeof(airline)); L->booked=NULL; L->wait=NULL; L->next=NULL; strcpy(L->end_addr,"00000000"); strcpy(L->line_num,"000"); strcpy(L->plant_num,"0000000"); L->day=L->left=L->total=0; q=L; p=(airline*)malloc(sizeof(airline)); p->booked=NULL;整理為word格式整理為word格式整理為word格式 p->wait=NULL; strcpy(p->end_addr,"廣州");
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 居民區(qū)煤氣供應(yīng)與節(jié)能減排協(xié)議3篇
- 文字責(zé)任守則3篇
- 新版東莞市勞動(dòng)合同模板3篇
- 新車(chē)墊資協(xié)議合同范本3篇
- 工程委托書(shū)丙方負(fù)責(zé)工程監(jiān)理3篇
- 掛車(chē)購(gòu)車(chē)條件3篇
- 教育設(shè)備采購(gòu)契約3篇
- 汽車(chē)制造工人合同
- 社區(qū)中心墻面施工合同
- 辦公樓地下停車(chē)場(chǎng)施工協(xié)議
- 《春秋》導(dǎo)讀學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 消防水域救援個(gè)人防護(hù)裝備試驗(yàn) 大綱
- DL∕T 5210.2-2018 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第2部分:鍋爐機(jī)組
- 大數(shù)據(jù)與人工智能營(yíng)銷(xiāo)智慧樹(shù)知到期末考試答案章節(jié)答案2024年南昌大學(xué)
- 歌舞表演專(zhuān)業(yè)論文范文
- 藝術(shù)創(chuàng)作勞動(dòng)合同模板
- 天津市河北區(qū)2022-2023學(xué)年七年級(jí)上學(xué)期期末地理試題【帶答案】
- 河南省平頂山市舞鋼市2023-2024學(xué)年九年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案解析)
- 石油化學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年中國(guó)石油大學(xué)(華東)
- 唐宋文學(xué)與中學(xué)語(yǔ)文智慧樹(shù)知到期末考試答案章節(jié)答案2024年紹興文理學(xué)院
- 手術(shù)后如何防止排尿困難
評(píng)論
0/150
提交評(píng)論