版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:航空客運(yùn)訂票系統(tǒng)院系計(jì)算機(jī)學(xué)院年級(jí)xxxxx學(xué)生xxx學(xué)號(hào)xxxxxxxxxxx指導(dǎo)教師xxxxxxxxxxx起止時(shí)間9-6/9-132023年9月10日星期二目錄一、課程設(shè)計(jì)目的3二、需求分析3三、概要設(shè)計(jì)1.設(shè)計(jì)環(huán)節(jié)42.系統(tǒng)整體結(jié)構(gòu)圖53.功能模塊及調(diào)用關(guān)系說(shuō)明5四、具體設(shè)計(jì)和源代碼1.實(shí)現(xiàn)概要設(shè)計(jì)中定義數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)62.查詢航線信息功能的算法設(shè)計(jì)73.訂票功能的算法設(shè)計(jì)94.退票功能的算法設(shè)計(jì)125.錄入功能的算法設(shè)計(jì)146.總航線預(yù)覽功能的程序源代碼15五、調(diào)試分析1.各功能的具體實(shí)例分析162.實(shí)驗(yàn)過(guò)程中出現(xiàn)的問(wèn)題及解決方法20六、課程設(shè)計(jì)總結(jié)20七、參考資料21一、課程設(shè)計(jì)目的(1)純熟使用C語(yǔ)言編寫程序,解決實(shí)際問(wèn)題;(2)了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具有初步的獨(dú)立分析和設(shè)計(jì)能力;(3)初步掌握軟件開發(fā)過(guò)程的問(wèn)題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基本方法和技能;(4)提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問(wèn)題的能力;航空訂票系統(tǒng):(1)純熟掌握鏈表存儲(chǔ)結(jié)構(gòu)及其建立過(guò)程和常用操作;(2)純熟掌握隊(duì)列的建立過(guò)程和常用操作;學(xué)會(huì)自己調(diào)試程序的方法并掌握一定的技巧。二、需求分析問(wèn)題描述:航空客運(yùn)訂票的業(yè)務(wù)活動(dòng)涉及:查詢航線、客票預(yù)訂和辦理退票等。試設(shè)計(jì)一個(gè)航空客運(yùn)訂票系統(tǒng),以使上述業(yè)務(wù)可以借助計(jì)算機(jī)來(lái)完畢。設(shè)計(jì)任務(wù):通過(guò)此系統(tǒng)可以實(shí)現(xiàn)如下功能:錄入:可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文獻(xiàn)中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)查詢:可以查詢某個(gè)航線的情況(如,輸入航班號(hào),查詢起降時(shí)間,起飛到達(dá)城市,航班票價(jià),票價(jià)折扣,擬定航班是否滿倉(cāng));可以輸入起飛到達(dá)城市,查詢飛機(jī)航班情況;根據(jù)旅客提出的終點(diǎn)站名輸出下列信息:航班號(hào)、飛機(jī)號(hào)、星期幾飛行,最近一天航班的日期和余票額;訂票:(訂票情況可以存在一個(gè)數(shù)據(jù)文獻(xiàn)中,結(jié)構(gòu)自己設(shè)定)根據(jù)客戶提出的規(guī)定(日期、航班號(hào)、訂票數(shù)額)查詢?cè)摵桨嗥鳖~情況,若尚有余額,則為客戶辦理訂票手續(xù),輸出座位號(hào);若已滿員或余票額少于訂票額,則需要重新詢問(wèn)客戶規(guī)定。若需要,可預(yù)約登記排隊(duì)等候。假如該航班已經(jīng)無(wú)票,可以提供相關(guān)可選擇航班;退票:根據(jù)客戶提供的情況(日期、航班、退票數(shù)額),為客戶辦理退票手續(xù),然后查詢?cè)摵桨嗍欠裼腥祟A(yù)約登記,一方面詢問(wèn)排在第一的客戶,若所退票額能滿足他的規(guī)定,則為他辦理訂票手續(xù),否則依次詢問(wèn)其他排隊(duì)預(yù)約的客戶……退票成功后修改相關(guān)數(shù)據(jù)文獻(xiàn)??蛻糍Y料有姓名,證件號(hào),訂票數(shù)量及航班情況,訂單要有編號(hào)。修改航班信息:當(dāng)航班信息改變可以修改航班數(shù)據(jù)文獻(xiàn)規(guī)定:根據(jù)以上功能說(shuō)明,設(shè)計(jì)航班信息,訂票信息的存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)程序完畢功能。測(cè)試數(shù)據(jù):由學(xué)生任意指定,但報(bào)告上規(guī)定寫出多批數(shù)據(jù)測(cè)試結(jié)果。實(shí)現(xiàn)提醒:每條航線應(yīng)包含的信息有:終點(diǎn)站名、航班號(hào)、飛機(jī)號(hào)、飛行日期(星期幾)、乘員定額、余票額、已訂票的客戶名單(涉及姓名、訂票額、座位號(hào))和預(yù)約登記的客戶名單(涉及日期、姓名、所需票額)。這最后兩項(xiàng)顯然是一個(gè)線性表和一個(gè)隊(duì)列。為查找方便、已訂票客戶的線性表應(yīng)按客戶姓名有序,并且,為插入和刪除方便,應(yīng)以鏈表作存儲(chǔ)結(jié)構(gòu)。由于預(yù)約人數(shù)無(wú)法預(yù)料,隊(duì)列也應(yīng)以鏈表作存儲(chǔ)結(jié)構(gòu)。整個(gè)系統(tǒng)需匯總各條航線的情況登錄在一張線性表上,由于航線基本不變,可采用順序存儲(chǔ)結(jié)構(gòu),并按航班有序或按終點(diǎn)站名有序。每條航線是這張表上的一個(gè)記錄,包含上述八個(gè)域,其中乘員名單域?yàn)橹赶虺藛T名單鏈表的頭指針,預(yù)約登記客戶名單域?yàn)榉謩e指向隊(duì)頭和隊(duì)尾的指針。選做內(nèi)容:當(dāng)客戶訂票規(guī)定不能滿足時(shí),系統(tǒng)可向客戶提供到達(dá)同一目的地的其它航線情況。三、概要設(shè)計(jì)1.設(shè)計(jì)環(huán)節(jié)1)分析問(wèn)題,給出數(shù)學(xué)模型,設(shè)計(jì)相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。提醒:(1)己訂票的客戶名單可以用線性表來(lái)實(shí)現(xiàn)。為查找方便,線性表應(yīng)按照客戶姓名有序,并且為了插入和刪除的方便,應(yīng)以鏈表作為存儲(chǔ)結(jié)構(gòu)。(2)等候替補(bǔ)的客戶名單可以用隊(duì)列來(lái)實(shí)現(xiàn)。由于預(yù)約人數(shù)無(wú)法預(yù)計(jì),所以隊(duì)列也應(yīng)以鏈表作為存儲(chǔ)結(jié)構(gòu)。(3)需將輸入的航班情況登錄到一張線性表上(用順序存儲(chǔ)結(jié)構(gòu)或鏈表存儲(chǔ)結(jié)構(gòu))。為了查詢的方便,可以將航班情況按照航班有序或按照終點(diǎn)站名有序建立線性表。每條航線是這張線性表的一個(gè)記錄,包含上述8個(gè)域,其中已訂票的客戶名單域是指向己訂票的客戶名單鏈表的頭指針,等候替補(bǔ)的客戶名單域是指向隊(duì)頭和隊(duì)尾的指針。2)算法設(shè)計(jì)在已經(jīng)選擇好數(shù)據(jù)結(jié)構(gòu)的前提下,為解決問(wèn)題設(shè)計(jì)算法。(1)擬定所需模塊對(duì)于稍復(fù)雜的程序設(shè)計(jì),要充足運(yùn)用模塊化程序設(shè)計(jì)方法,自頂向下,逐步細(xì)化,在整體思緒擬定的情況下,考慮所需模塊數(shù),各模塊完畢功能以及模塊之間的數(shù)據(jù)聯(lián)系和調(diào)用關(guān)系。(2)各子模塊功能描述給出重要模塊的算法描述,用流程圖或偽代碼表達(dá)。(3)模塊之間的調(diào)用關(guān)系3)源程序清單為了提高工作效率,充足運(yùn)用上機(jī)調(diào)試程序的時(shí)間,規(guī)定學(xué)生在上機(jī)之前給出源程序清單。4)用測(cè)試數(shù)據(jù)去驗(yàn)證算法及程序的對(duì)的性5)算法分析通過(guò)上機(jī)調(diào)試,源程序運(yùn)營(yíng)對(duì)的,并且實(shí)現(xiàn)算法規(guī)定的功能,解決課程設(shè)計(jì)題目中給出的問(wèn)題后,分析算法的時(shí)間復(fù)雜度和空間復(fù)雜度。2.系統(tǒng)整體結(jié)構(gòu)圖(功能模塊圖)主菜單menu()1.總航線信息預(yù)覽display()2.查詢單條航線信息Search()3.辦理訂票業(yè)務(wù)Book()4.辦理退票業(yè)務(wù)tuipiao()5.錄入航班信息CreatPlane0.退出系統(tǒng)圖1.系統(tǒng)整體結(jié)構(gòu)圖3.功能模塊及調(diào)用關(guān)系說(shuō)明(1)總航線信息預(yù)覽:通過(guò)調(diào)用display()預(yù)覽已經(jīng)建立的所有航線的相關(guān)信息(航班號(hào)、飛機(jī)號(hào)、終點(diǎn)站、飛行日期、定額、余票數(shù)、排隊(duì)等候人數(shù)),預(yù)覽完返回主菜單。(2)查詢單條航線信息:根據(jù)乘客提出的終點(diǎn)站名或航班號(hào)調(diào)用Search()函數(shù)來(lái)查詢并輸出此條航線的相關(guān)信息(航班號(hào)、飛機(jī)號(hào)、終點(diǎn)站、飛行日期、定額、余票數(shù)、已訂票乘客名單、排隊(duì)等候乘客名單)。并且查詢完后詢問(wèn)乘客是否訂票,是就調(diào)用訂票Book()函數(shù)來(lái)為乘客進(jìn)行訂票,否就返回主菜單。(3)辦理訂票業(yè)務(wù):客戶先輸入的終點(diǎn)站名、訂票數(shù)、姓名信息再來(lái)調(diào)用訂票Book()函數(shù),Book()函數(shù)根據(jù)客戶提供的終點(diǎn)站名查詢到該航線信息,若客戶訂票額末超過(guò)余票量,訂票成功并登記信息,在訂票乘員名單鏈表中添加乘客的信息;假如暫時(shí)余票數(shù)局限性是,詢問(wèn)客戶是否要排隊(duì)等侯,假如是,則在排隊(duì)等候的隊(duì)列中增長(zhǎng)該乘客的訂票信息。(4)辦理退票業(yè)務(wù):調(diào)用tuipiao()查詢函數(shù),根據(jù)客戶提供的航線進(jìn)行搜索根據(jù)客戶提供的姓名到訂票客戶名單域進(jìn)行查詢。退票成功后,重新將航線名單域指向訂票單鏈表的頭指針。根據(jù)隊(duì)列中從出的客戶信息判斷是否滿足規(guī)定,假如滿足,則將該客戶的信息插入到乘客信息鏈表中。(5)錄入航班信息:調(diào)用CreatPlane()函數(shù),根據(jù)輸入的航班的相關(guān)的信息(航班號(hào)、飛機(jī)號(hào)、終點(diǎn)站、飛行日期、定額、余票數(shù)),將此航班加入到本來(lái)的航班組中。(6)退出系統(tǒng)四、具體設(shè)計(jì)和源代碼1.實(shí)現(xiàn)概要設(shè)計(jì)中定義數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(1)已訂票乘客信息(單鏈表)typedefstructCust //已訂票乘客信息{ charName[15]; //乘客姓名charnumber[10]; //乘客所乘飛機(jī)航班號(hào)charend[15]; //乘客終點(diǎn)站(2)排隊(duì)等候的乘客信息typedefstructwaitNode //排隊(duì)等候客戶信息{charname[15]; //乘客姓名 intticket; //乘客的訂票數(shù) structwaitNode*next;}waitNode,*waitlink;typedefstruct{ waitlinkfront; waitlinkrear;}waitQueue;(3)航班信息typedefstructPlane //航班信息{ charnumber[10]; //航班號(hào) intplanenum; //飛機(jī)號(hào) charend[15]; //終點(diǎn)站 chardate[10]; //飛行日期 intdinge; //成員定額inttick; //剩余票數(shù) intk; //排隊(duì)等候的人數(shù) Customer*first; //鏈接已訂票客戶 waitQueueQ; //鏈接候補(bǔ)客戶}PlaneLink;2.查詢單條航線信息功能的算法設(shè)計(jì)(Search()函數(shù)功能實(shí)現(xiàn)的源代碼)intSearch(PlaneLink*p,intN){inti=0,Q; cout<<"===========================================\n";cout<<"1.按終點(diǎn)站名查詢\n"; cout<<"2.按航班號(hào)查詢\n"; cout<<"___________________________________________\n"; cout<<">>>>>>\n"; cout<<"請(qǐng)選擇查詢方式(1/2):";cin>>Q; if(Q==1) { charend[10]; cout<<"請(qǐng)您輸入要查詢的航班的終點(diǎn)站名:";//按站點(diǎn)名查詢航班信息 cin>>end;while(i<N) { if(strcmp(p[i].end,end)==0)//先查看是否存在到該站點(diǎn)的航班 { cout<<"\n*****************您所查詢的航班信息如下******************\n"; cout<<"_________________________________________________________\n"; cout<<"航班號(hào)飛機(jī)號(hào)終點(diǎn)站飛行日期余票數(shù)\n"; cout<<""<<p[i].number<<setw(7)<<p[i].planenum<<setw(12)<<p[i].end<<setw(10)<<p[i].date<<setw(10)<<p[i].tick<<endl; cout<<"\n=========================================================\n"; break; } i++; } } elseif(Q==2) { charnum[10];cout<<"請(qǐng)您輸入要查詢的航班的航班號(hào):";//按站點(diǎn)名查詢航班信息 cin>>num;while(i<N) { if(strcmp(p[i].number,num)==0)//查看是否存在該航班號(hào)的航班 { cout<<"\n*****************您所查詢的航班信息如下:****************\n"; cout<<"_________________________________________________________\n"; cout<<"航班號(hào)終點(diǎn)飛行日期余票數(shù)\n"; cout<<""<<p[i].number<<setw(12)<<p[i].end<<setw(12)<<p[i].date<<setw(12)<<p[i].tick<<endl; cout<<"\n=========================================================\n"; break; } i++; } } display_s(p,i,N);//調(diào)用display_s()函數(shù)輸出該航班的已訂票乘客和排隊(duì)等候乘客的名單信息 if(i<N)//假如存在該航班,詢問(wèn)客戶是否要預(yù)定該航班的機(jī)票 { intj; cout<<"是否需要預(yù)定該航班的票(1/0):";cin>>j; if(j==1) { charname[10];intticket; cout<<"請(qǐng)輸入訂票數(shù)目、姓名:"; cin>>ticket>>name; Book(p,p[i].end,ticket,name,N); } } else{cout<<"很抱歉,沒有您查詢的航班信息!\n";}return0;}3.訂票功能的算法設(shè)計(jì)(Book()函數(shù)功能實(shí)現(xiàn)源代碼)intBook(PlaneLink*p,charend[],intticket,charname[],intN){ inti; for(i=0;i<N;i++) { if(strcmp(p[i].end,end)==0)//先找出是否存在要訂票的航班 {if(p[i].tick>=ticket)//查看余票數(shù)是否>=訂票客戶訂票數(shù) { p[i].tick-=ticket; Customer*t=(Customer*)malloc(sizeof(Customer)); t->ticket=ticket; strcpy(t->Name,name); strcpy(t->number,p[i].number); strcpy(t->end,p[i].end); t->next=p[i].first;p[i].first=t;//此使用的是頭插法將訂票乘客的信息放入到鏈表中/ cout<<"您訂票成功!\n"; cout<<"您的航班信息如下:\n"; cout<<"__________________________________________________\n"; cout<<"航班號(hào)飛機(jī)號(hào)終點(diǎn)站飛行日期定額\n"; cout<<"__________________________________________________\n"; cout<<""<<setw(9)<<p[i].number<<setw(6)<<p[i].planenum<<setw(12)<<p[i].end<<setw(12)<<p[i].date<<setw(10)<<p[i].dinge<<endl; cout<<"==================================================\n\n"; break; } elseif(p[i].dinge<ticket)//訂票數(shù)超過(guò)航班的定額時(shí),不能訂票,也不能無(wú)法排隊(duì)等候了 {cout<<"您預(yù)訂的票數(shù)超過(guò)了航班定額,無(wú)法為您訂票!\n";break;} else//余票數(shù)局限性時(shí),詢問(wèn)乘客是否排隊(duì)等候 { charz; cout<<"該航班剩余票數(shù)為:"<<p[i].tick<<endl; cout<<"很抱歉,剩余的票數(shù)不夠!\n";cout<<"您是否需要排隊(duì)等候(Y(y)/N(n)):";cin>>z; if(z=='Y'||z=='y'){ Queue(p,end,ticket,name,N,i);}//調(diào)用入隊(duì)列函數(shù),將乘客信息插入排隊(duì)等候的人后面 break; } } } if(i>=N){cout<<"很抱歉,沒有您所需要的航班!\n";} return0;}intdisplay_s(PlaneLink*p,inti,intN)//輸出已定票及排隊(duì)乘客的名單信息{ if(p[i].first!=NULL)//p[i].first!=NULL說(shuō)明已訂票鏈表不為空,輸出已訂票乘客的名單信息 { cout<<"****該航班的已訂票乘客名單如下:****\n"; cout<<"____________________________________\n"; cout<<"姓名訂票量\n"; Customer*t=p[i].first; while(t) { cout<<setw(10)<<t->Name<<""<<setw(7)<<t->ticket<<endl; t=t->next; } } if(i<N&&p[i].Q.front!=NULL)//p[i].Q.front!=NULL,輸出正在排隊(duì)等候乘客的名單信息 { cout<<"****該航班等候訂票的乘客名單如下:****\n"; cout<<"姓名訂票量\n"; waitlinkS=p[i].Q.front; while(S!=NULL) { cout<<setw(10)<<S->name<<""<<setw(7)<<S->ticket<<endl; S=S->next;} cout<<"=====================================\n"; } return0;}附:入隊(duì)函數(shù)Queue()的源代碼intQueue(PlaneLink*p,charend[],intticket,charname[],intN,inti)//入隊(duì)函數(shù),將等候排隊(duì)的乘客放入本來(lái)的隊(duì)列中{ system("cls"); system("color2e"); waitlinkq=(waitlink)malloc(sizeof(waitNode));//將要的入隊(duì)的結(jié)點(diǎn),存儲(chǔ)將要入隊(duì)乘客的信息 strcpy(q->name,name); q->ticket=ticket; q->next=NULL; if(p[i].Q.front==NULL) { p[i].Q.front=p[i].Q.rear=q; p[i].k++;//p[i].k用來(lái)記錄排隊(duì)人數(shù) } else { p[i].Q.rear->next=q; p[i].Q.rear=q;p[i].k++; } cout<<"已為您登記,請(qǐng)耐心等候!\n"; return0; }4.退票功能的算法設(shè)計(jì)(tuipiao()函數(shù)實(shí)現(xiàn)的源代碼)inttuipiao(PlaneLink*p,intN){inti;Customer*R,*S; charnumber[10],Name[15]; cout<<">>>>>>\n"; cout<<"請(qǐng)輸入您的航班號(hào)與姓名:"; cin>>number>>Name; for(i=0;i<N;i++) { if(strcmp(p[i].number,number)==0&&p[i].first!=NULL) { if(strcmp(p[i].first->Name,Name)==0) { p[i].tick=p[i].tick+p[i].first->ticket; p[i].first=p[i].first->next; cout<<"您已成功退票!\n\n"; } else {R=p[i].first;S=p[i].first->next; while(S!=NULL) { if(strcmp(S->Name,Name)==0) { p[i].tick=p[i].tick+S->ticket; R->next=S->next; cout<<"您已經(jīng)成功退票!\n\n";break; } R=R->next;S=S->next; } if(S==NULL)cout<<"很抱歉,在該航班上沒有找到您的姓名,請(qǐng)核算信息!\n\n"; } if(p[i].Q.front!=NULL) { waitlinkQ=p[i].Q.front,q; while(Q!=NULL) { if(p[i].tick>=Q->ticket) { if(Q==p[i].Q.front) { cout<<"正在為等候的乘客"<<Q->name<<"辦理訂票!\n"; Book(p,p[i].end,Q->ticket,Q->name,N); if(p[i].Q.front==p[i].Q.rear) { p[i].Q.front=p[i].Q.rear=NULL; Q=Q->next; } else {p[i].Q.front=p[i].Q.front->next; Q=Q->next; } } else { cout<<"正在為等候的乘客"<<Q->name<<"辦理訂票!\n"; Book(p,p[i].end,Q->ticket,Q->name,N); q->next=Q->next;Q=Q->next; } } else{ q=Q;Q=Q->next;} } } break; } if(strcmp(p[i].number,number)==0&&p[i].first==NULL) { cout<<"很抱歉,該航班目前沒有已訂票的乘客,無(wú)法為你退票,請(qǐng)核算信息!\n\n";break; } } if(i>=N)cout<<"很抱歉,沒有該航班信息,無(wú)法為你退票,請(qǐng)核算信息!\n\n"; return0;}5.錄入功能的算法設(shè)計(jì)(CreatPlane()函數(shù)的源代碼)voidCreatPlane(PlaneLink*p,intn,intN){ inti,j; for(i=N;i<N+n;i++) { p[i].first=NULL;//帶頭結(jié)點(diǎn)的單鏈表為空時(shí)的條件 p[i].Q.front=p[i].Q.rear=NULL;//隊(duì)列為空時(shí)的條件 cout<<">>>>>>\n";cout<<"請(qǐng)輸入航班號(hào):";cin>>p[i].number; cout<<"輸入終點(diǎn)站名:";cin>>p[i].end; for(j=0;j<N;j++) { if(strcmp(p[i].number,p[j].number)==0)//查看該航班號(hào)是否已經(jīng)存在 { cout<<"已經(jīng)存在該航班號(hào)!\n";break; } if(strcmp(p[i].end,p[j].end)==0)//查看是否存在到改站點(diǎn)的航班 { cout<<"已有到該站點(diǎn)的航班!\n";break; } } if(j==N) { cout<<"飛機(jī)號(hào)、飛行日期、成員定額:\n"; cin>>p[i].planenum>>p[i].date>>p[i].dinge; p[i].tick=p[i].dinge;p[i].k=0; cout<<"錄入完畢!\n"; } }}6.總航線預(yù)覽功能的算法設(shè)計(jì)(display()函數(shù)的源代碼)intdisplay(PlaneLink*p,intN)//N為當(dāng)前的航班數(shù){ cout<<"==============================================================================\n"; cout<<"航班號(hào)飛機(jī)號(hào)終點(diǎn)站飛行日期定額余票數(shù)排隊(duì)等候人數(shù)\n"; cout<<"______________________________________________________________________________\n"; for(inti=0;i<N;i++) { cout<<setw(9)<<p[i].number<<setw(6)<<p[i].planenum<<setw(12)<<p[i].end<<setw(12)<<p[i].date<<setw(10)<<p[i].dinge<<setw(10)<<p[i].tick<<setw(10)<<p[i].k<<endl; } cout<<"==============================================================================\n"; return0;}五、調(diào)試分析1)各功能的具體實(shí)例分析為了調(diào)試分析方便,在程序中已經(jīng)初始放入了三個(gè)航班信息,如下:1.系統(tǒng)主菜單界面2.總航線預(yù)覽功能界面3.查詢單條航線功能圖1.按終點(diǎn)站名查詢圖2.按航班號(hào)查詢圖3.錯(cuò)誤查詢輸出結(jié)果4.訂票功能=1\*GB3①.當(dāng)訂票的航班存在且航班的余票數(shù)≥乘客訂票數(shù)時(shí)②當(dāng)訂票的航班存在但余票數(shù)≤訂票數(shù)≤航班的定額時(shí)③當(dāng)航班存在但訂票數(shù)大于航班定額時(shí)乘客將無(wú)法排隊(duì)等候了=4\*GB3④.當(dāng)預(yù)定的航班不存在時(shí)5.退票功能①.當(dāng)退票后余票數(shù)可以滿足排隊(duì)乘客的需要時(shí)②.當(dāng)航班號(hào)或姓名輸入錯(cuò)誤時(shí),系統(tǒng)會(huì)輸出顯示以下的三種界面 圖1圖2圖36.錄入功能2)實(shí)驗(yàn)過(guò)程中出現(xiàn)的問(wèn)題及解決方法:一開始錯(cuò)誤很多,涉及大量的語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤。通過(guò)反復(fù)的編譯、調(diào)試、學(xué)習(xí)和修改,更正了程序中的語(yǔ)法,使程序可以正常編譯,運(yùn)營(yíng)。程序健壯性方面屢屢碰到問(wèn)題,在程序的測(cè)試過(guò)程中逐步發(fā)現(xiàn)并改善,如主菜單選擇假如輸入
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023試用期合同協(xié)議書七篇
- 2025交通事故自行調(diào)解書協(xié)議書12篇
- 個(gè)人股權(quán)轉(zhuǎn)讓協(xié)議書七篇
- 個(gè)人土地轉(zhuǎn)租協(xié)議范本
- 關(guān)注細(xì)節(jié)的“管理新星”-記工程局勞動(dòng)模范經(jīng)管部部長(zhǎng)孫獻(xiàn)龍
- 跖疣病因介紹
- 四大名著之紅樓春趣經(jīng)典解讀2
- 2023-2024學(xué)年天津市河北區(qū)高二(上)期末語(yǔ)文試卷
- 2023年天津市靜海一中高考語(yǔ)文模擬試卷(一)
- 重慶2020-2024年中考英語(yǔ)5年真題回-教師版-專題02 完形填空
- 2023年健康管理師考題(含答案)
- 2023年醫(yī)師定期考核-口腔醫(yī)師定期考核歷年考試真題試卷摘選答案
- 三基醫(yī)師分冊(cè)題庫(kù)新版題庫(kù)《中醫(yī)臨床“三基”訓(xùn)練試題集醫(yī)師分冊(cè)》
- 2024年電梯安裝質(zhì)量手冊(cè)、程序文件含質(zhì)量記錄表符合特種設(shè)備許可規(guī)范TSG07-2019
- 2022年08月內(nèi)蒙古自治區(qū)文物考古研究院自主公開招聘5人筆試題庫(kù)含答案解析
- 2023年1月浙江省高中學(xué)業(yè)水平考試物理試卷真題(含答案詳解)
- 企業(yè)法務(wù)概論智慧樹知到答案章節(jié)測(cè)試2023年溫州大學(xué)
- 杭州灣跨海大橋鋼樁腐蝕防護(hù)
- 2023-2024學(xué)年湖南省漣源市初中語(yǔ)文七年級(jí)上冊(cè)期末評(píng)估試卷
- 2023-2024學(xué)年山東省青島市小學(xué)語(yǔ)文二年級(jí)上冊(cè)期末通關(guān)試題
- GB/T 6379.3-2012測(cè)量方法與結(jié)果的準(zhǔn)確度(正確度與精密度)第3部分:標(biāo)準(zhǔn)測(cè)量方法精密度的中間度量
評(píng)論
0/150
提交評(píng)論