數(shù)據(jù)結(jié)構(gòu)與算法課程設計說明書-飛機訂票系統(tǒng)_第1頁
數(shù)據(jù)結(jié)構(gòu)與算法課程設計說明書-飛機訂票系統(tǒng)_第2頁
數(shù)據(jù)結(jié)構(gòu)與算法課程設計說明書-飛機訂票系統(tǒng)_第3頁
數(shù)據(jù)結(jié)構(gòu)與算法課程設計說明書-飛機訂票系統(tǒng)_第4頁
數(shù)據(jù)結(jié)構(gòu)與算法課程設計說明書-飛機訂票系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

課程設計說明書課程名稱:數(shù)據(jù)結(jié)構(gòu)與算法設計題目:飛機訂票系統(tǒng)任務院系:計算機科學與信息工程學院課程設計任務書設計題目飛機訂票系統(tǒng)任務學生姓名所在院系計算機科學與信息工程學院專業(yè)、年級、班軟件工程13級設計要求:系統(tǒng)需要實現(xiàn)如下功能:(1)錄入:可以錄入航班信息;(2)查詢:可以根據(jù)航班號或起點和終點查詢某個航班的信息;(3)訂票:可以訂票,記錄訂票信息;(4)退票:可退票,退票后修改相關(guān)數(shù)據(jù)文件;(5)修改航班信息:當航班信息改變可以修改航班數(shù)據(jù)文件。學生應完成的工作:(1)根據(jù)課程設計要求,分析思路并構(gòu)建模型,劃分子模塊、完善其功能;(2)根據(jù)各模塊的功能設計并編寫程序段、連接各程序段使之形成一個有機的整體;(3)調(diào)試、運行程序進而得到正確的結(jié)果;(4)根據(jù)實驗設計運行過程,寫出實驗論文并總結(jié)實驗教訓。參考文獻閱讀:1、《數(shù)據(jù)結(jié)構(gòu)(C++版)》嚴蔚敏清華大學出版社2、《C++程序設計》譚浩強清華大學出版社3、黃同成,黃俊民,董建寅編著數(shù)據(jù)結(jié)構(gòu).中國電力出版社工作計劃:1、網(wǎng)上資料搜索,進行設計前的必要資料準備;2、需求分析與概念設計,編寫程序;3、詳細設計與概念設計,編寫程序,上機調(diào)試;4、上機調(diào)試,分析運行結(jié)果;5、完成報告設計;任務下達日期:2015年6月日任務完成日期:2015年6月日指導教師(簽名):學生(簽名):飛機訂票系統(tǒng)任務摘要:在當今經(jīng)濟和商務交往日益頻繁的狀況下,航空服務行業(yè)正面臨客流量驟增的壓力。越來越多的航空公司都認識到傳統(tǒng)的售票方法已經(jīng)不能適應當今社會的需要,必須借助先進的計算機信息技術(shù)對售票服務進行管理。飛機訂票系統(tǒng)是為機場工作人員和客戶提供訂票退票等與機票相關(guān)內(nèi)容和管理的系統(tǒng),它為企業(yè)的決策層提供準確、精細、迅速的機票銷售信息,為乘客出行提供方便,便于機場工作人員對機票信息進行管理,提高了機場工作人員對機票管理的工作效率。通過此程序能夠?qū)崿F(xiàn)錄入、查詢、訂票、退票、修改、刪除、瀏覽、保存等功能。實現(xiàn)這一課程,首先必須對一些知識點有所了解,我們是用單鏈表來做的。概要設計部分主要介紹了邏輯設計,物理設計,界面設計和系統(tǒng)功能模塊圖;關(guān)鍵詞:單鏈表;飛機訂票系統(tǒng);信息管理;邏輯設計目錄TOC\o"1-3"\h\u4391.設計背景 .設計背景1.1需求分析隨著時代的進步社會的不斷發(fā)展,各個行業(yè)聯(lián)系的不斷密切,人們出行越來越多,出行的方式也是百花齊放,作為空中重要的交通工具,飛機航空系統(tǒng)也在不斷地得到優(yōu)化,其中重要的一項就是飛機航空訂票系統(tǒng),目前,我國一些旅行社和酒店的機票預定還停留在人工處理階段,這已經(jīng)嚴重制約了工作效率,在計算機技術(shù)高速發(fā)展的今天,有必要引入高效的計算機系統(tǒng),來協(xié)助處理機票預定工作。因此,開發(fā)一套具有完整的存儲,查詢,核對,打印機票功能的實時機票預定系統(tǒng)勢在必行。1.2系統(tǒng)優(yōu)點機票預定系統(tǒng)是為機場工作人員和客戶提供訂票退票等與機票相關(guān)內(nèi)容和管理的系統(tǒng),它具有開放體系結(jié)構(gòu)的、易擴充的、易維護的、具有良好人機界面的優(yōu)點.它除克服了存儲乘客信息少,查詢效率低下等問題外,更重要的是其安全性,可靠性,實現(xiàn)航空公司的機票銷售的自動化。它為企業(yè)的決策層提供準確、精細、迅速的機票銷售信息,為乘客出行提供方便,便于機場工作人員對機票信息進行管理,提高了機場工作人員對機票管理的工作效率。2.設計方案2.1總體設計通過此系統(tǒng)可以實現(xiàn)如下功能:1).錄入:可以錄入航班情況(數(shù)據(jù)存儲在一個數(shù)據(jù)文件中)2).查詢:可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達城市,航班票價,票價折扣,確定航班是否滿倉);可以輸入起飛抵達城市,查詢飛機航班情況;3).訂票:(訂票情況存在一個數(shù)據(jù)文件中)可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班;4).退票:可退票,退票后修改相關(guān)數(shù)據(jù)文件;客戶資料有姓名,證件號,訂票數(shù)量及航班情況,訂單要有編號。5).修改航班信息:當航班信息改變可以修改航班數(shù)據(jù)文件。2.2抽象數(shù)據(jù)類型鏈表抽象數(shù)據(jù)類型:ADTList{數(shù)據(jù)對象:D={ai|ai∈ElemType,i=1,2n,n≧0}數(shù)據(jù)關(guān)系:R1={<ai-1,ai|ai-1,ai∈D,i=2,3n>}基本操作:MyList();操作結(jié)果:初始化一個鏈表;VoidInSertNode(LT&);初始條件:鏈表已存在;操作結(jié)果:插入一個結(jié)點;boolDeleteNode(LT&);初始條件:鏈表已存在;操作結(jié)果:刪除一個節(jié)點;}ADTList隊列抽象數(shù)據(jù)類型:{數(shù)據(jù)對象:D={ai|ai∈ElemType,i=1,2n,n≧0}數(shù)據(jù)關(guān)系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,3n}約定a1端隊列的頭,an為隊列尾;基本操作:MyQueue();操作結(jié)果:初始化一個隊列;VoidEnQueue(QT&);初始條件:隊列已存在;操作結(jié)果:進入一個隊列;VoidDnQueue(QT&);初始條件:隊列已存在;結(jié)果:出隊列;BoolEmpty();初始條件:隊列已存在;結(jié)果:隊列是否為空;}ADTQueue2.3模塊設計主函數(shù)主函數(shù)錄入航線信息瀏覽航線信息修改航線信息查詢航線信息辦理訂票業(yè)務辦理退票業(yè)務退出系統(tǒng)將航線信息和乘客信息寫入文件圖2.1系統(tǒng)功能結(jié)構(gòu)圖各個模塊的算法設計說明如下:(1)訂票模塊:根據(jù)客戶提出的要求(航班號、訂票數(shù)額)查詢該航班票額情況,若尚有余票,則為客戶辦理訂票手續(xù),輸出座位號;若已滿員或余票少于訂票額,則需重新詢問客戶要求。若需要,可登記排隊候補;(2)退票模塊:根據(jù)客戶的情況(日期、航班),為客戶辦理退票手續(xù),然后查詢該航班是否有人排隊,首先詢問排在第一的客戶,若所退票數(shù)滿足他的要求,則為他辦理訂票手續(xù),否則一次詢問其他排隊候補的客戶。(3)查詢模塊:根據(jù)旅客提出的終點站名輸出下列信息:航班號、飛機號、星期幾飛行,最近一天航班的日期和余票額;2.4類的定義和函數(shù)聲明類的定義:classBuyer//客戶類{public:stringm_strID;//客戶ID號stringm_strName;//客戶姓名intm_nWant;//客戶要訂的票數(shù)};classAirsysinfo//航班信息類{stringm_strNum;//航班號stringm_strStart;//航班起點站stringm_strEnd;//航班終點站stringm_strTime;//航班起飛時間日期stringm_strFlyTime;//飛行時間intm_nCount;//航班票數(shù)intm_nLeftCount;//剩余票數(shù)public:vector<Buyer>m_wPerson;//等待訂票的顧客隊列,其中m_wPerson.size()即為排隊的客戶數(shù)vector<Buyer>m_haveBook;//已訂票客戶Airsysinfo();voidSetNum(string&n);//設置航班號voidSetStart(string&start);//設置航班起飛點voidSetEnd(string&end);//設置航班終點地voidSetTime(string&time);//設置航班起飛時間voidSetCount(intcount);//設置航班票數(shù)voidSetLeftCount(intleft);//設置航班剩余票數(shù)voidSetFlyTime(string&time);//設置航班飛行總時間voidSetWait(Buyer&p);//設置航班的等候訂票隊列,每次進一個人voidSetHavingBookBuyer(Buyer&p);//設置已訂票的客戶stringGetFlyTime();//獲取航班飛行總時間stringGetTime();//獲取航班起飛時間日期intGetWaitCount();//獲取等侯訂票隊列人數(shù)intGetLeftCount();//航班剩余票數(shù)stringGetStart();//獲取該航班起飛地stringGetEnd();//獲取該航班終點地stringGetNum();//獲取該航班號intGetCount();//獲取該航班總票數(shù)voidPrintInfo();//打印該航班的信息~Airsysinfo(){}//析構(gòu)函數(shù)intSystemKey();};全局函數(shù)的聲明部分:voidNewAirsysinfo(vector<Airsysinfo*>*vec_Air);//輸入新的航班信息函數(shù)聲明voidFindAirsysinfo(vector<Airsysinfo*>vec_Air);//查詢航班信息函數(shù)聲明voidBookAirsysinfo(vector<Airsysinfo*>*vec_Air);//訂票函數(shù)聲明voidCancelAirsysinfo(vector<Airsysinfo*>*vec_Air);//取消訂票函數(shù)聲明voidModifyAirsysinfo(vector<Airsysinfo*>*vec_Air);//修改航班信息函數(shù)聲明voidScanAirsysinfo(vector<Airsysinfo*>vec_Air);//瀏覽總航班信息函數(shù)聲明intSystemKey();//系統(tǒng)的密碼函數(shù)聲明voidLoadData(vector<Airsysinfo*>*vec_Air);//從文件導入數(shù)據(jù)函數(shù)聲明3.方案實施3.1錄入航班信息模塊此模塊通過鏈表的創(chuàng)建和插入的原理,把輸入的相關(guān)數(shù)據(jù)儲存在鏈表中;其功能實現(xiàn)如圖3.1所示:圖3.1錄入航班信息功能模塊圖具體函數(shù)實現(xiàn)如下:voidNewAirsysinfo(vector<Airsysinfo*>*vec_Air)//輸入新的航班信息{Airsysinfo*pA;charyes='n';cout<<"\t您確定要錄入新的航班信息嗎?(y/n):";cin>>yes;if(yes=='n'||yes=='N')return;cout<<endl;cout<<"\t*********************歡迎進入航班信息錄入子系統(tǒng)**********************\n";cout<<endl;stringnum,start,end,time,flytime;intcount;/****************開始錄入航班信息*****************/cout<<"\t請輸入新航班的編號:";cin>>num;cout<<endl;cout<<"\t請輸入新航班的的起點站:";cin>>start;cout<<endl;cout<<"\t請輸入新航班的的終點站:";cin>>end;cout<<endl;cout<<"\t請輸入新航班的的起飛時間(日期):";cin>>time;cout<<endl;cout<<"\t請輸入新航班的的總飛行時間(小時):";cin>>flytime;cout<<endl;cout<<"\t請輸入新航班的的總票數(shù):";cin>>count;cout<<endl;//申請新航班內(nèi)存空間pA=newAirsysinfo();pA->SetNum(num);//新航班編號pA->SetStart(start);//新航班起點站pA->SetEnd(end);//新航班終點站pA->SetTime(time);//新航班起飛日期pA->SetFlyTime(flytime);//新航班總飛行時間(小時)pA->SetCount(count);//新航班總票數(shù)pA->SetLeftCount(count);//新航班剩余票數(shù)vec_Air->push_back(pA);cout<<"\t錄入新航班信息成功,請查看!"<<endl<<endl;cout<<"\t按任意鍵返回主界面!";cin.get();cin.get();/****************結(jié)束錄入航班信息*****************/}3.2瀏覽航班信息模塊直接調(diào)用瀏覽航班信息模塊函數(shù),通過鏈表順序遍歷,輸出各個節(jié)點的數(shù)據(jù);其功能實現(xiàn)如圖3.2所示:圖3.2瀏覽航班信息功能模塊圖具體函數(shù)實現(xiàn)如下:voidScanAirsysinfo(vector<Airsysinfo*>vec_Air)//瀏覽總航班信息{system("cls");//清屏cout<<"\n\t************************歡迎瀏覽本航空公司的航班信息***********************\n\n";for(inti=0;i<vec_Air.size();i++){vec_Air[i]->PrintInfo();}cout<<endl;cout<<"\t按任意鍵返回主界面!";cin.get();cin.get();}3.3查詢航班信息模塊通過鏈表的順序遍歷來查找相關(guān)節(jié)點;其功能實現(xiàn)如圖3.3所示:圖3.3查詢航班信息功能模塊圖具體函數(shù)實現(xiàn)如下://查詢航班信息函數(shù)voidFindAirsysinfo(vector<Airsysinfo*>vec_Air)//查詢航班信息{system("cls");cout<<endl;charchoice='p';while(choice!='y'){system("cls");cout<<endl;cout<<"\t*********************歡迎進入航班信息查詢子系統(tǒng)***********************"<<endl<<endl;cout<<"\t\t\t\t1.按航班號查詢\n"<<"\t\t\t\t2.按起點站查詢\n"<<"\t\t\t\t3.按終點站查詢\n"<<"\t\t\t\t4.按起飛時間(日期)查詢\n"<<"\t\t\t\t5.按飛行總時間(小時)查詢\n"<<"\t\t\t\t0.返回主界面\n\n"<<"\t**********************************************************************\n\n"<<"\t請選擇(0-5):";cin>>choice;cout<<endl;switch(choice){case'1'://按航班編號查詢{stringnum;cout<<"\t請輸入要查詢的航班編號:";cin>>num;for(inti=0;i<vec_Air.size();i++)//vec_Air.size()容器中實際個數(shù){if(vec_Air[i]->GetNum()==num)//是否有相應的航班編號{vec_Air[i]->PrintInfo();//打印輸出相應航班的所有信息break;}}if(i==vec_Air.size()){//如果找到所有記錄最后還沒有找到要找的航班編號,則表示沒有此航班cout<<"\n\t對不起,沒有找到該編號的航班信息!";}cin.get();cin.get();break;}case'2'://按起點站查詢{intflag=0;stringstart;cout<<"\t請輸入要查詢起點站:";cin>>start;for(inti=0;i<vec_Air.size();i++)//把所有起點站相同的航班找出來{if(vec_Air[i]->GetStart()==start){vec_Air[i]->PrintInfo();flag=1;//說明起碼找到一條相應的記錄}}if(flag==0)//沒有此航班記錄{cout<<"\n\t對不起,沒有找到該起飛站航班信息!";}cin.get();cin.get();break;}case'3'://按終點站查詢{intflag=0;stringend;cout<<"\t請輸入要查詢航班終點站:";cin>>end;for(inti=0;i<vec_Air.size();i++)//把所有終點站相同的航班找出來{if(vec_Air[i]->GetEnd()==end){vec_Air[i]->PrintInfo();//打印輸出航班信息flag=1;//說明起碼找到一條相應的記錄}}if(flag==0){cout<<"\n\t對不起,沒有找到該終點站航班信息!";}cin.get();cin.get();break;}case'4'://按起飛時間(日期){intflag=0;stringtime;cout<<"\t請輸入要查詢航班起飛日期:";cin>>time;for(inti=0;i<vec_Air.size();i++){if(vec_Air[i]->GetTime()==time){vec_Air[i]->PrintInfo();flag=1;}}if(flag==0){cout<<"\n\t對不起,沒有找到該起飛日期的航班信息!";cin.get();cin.get();break;}cin.get();cin.get();break;}case'5'://按飛行總時間查詢{intflag=0;stringflytime;cout<<"\t請輸入要查詢航班的飛行總時間:";cin>>flytime;for(inti=0;i<vec_Air.size();i++){if(vec_Air[i]->GetFlyTime()==flytime){vec_Air[i]->PrintInfo();flag=1;}}if(flag==0){cout<<"\n\t對不起,沒有找到該終點站航班信息!";}cin.get();cin.get();break;}case'0'://返回{cout<<"\t確定要返回主界面嗎?(y/n):";cin>>choice;break;}}}}3.4訂票功能信息模塊詢問時候進入等候隊列。若不為零則繼續(xù)添加訂票信息,進入訂票隊列;其功能實現(xiàn)如圖3.4所示:圖3.4訂票功能模塊圖其具體函數(shù)實現(xiàn)如下:voidBookAirsysinfo(vector<Airsysinfo*>*vec_Air)//訂票{vector<Airsysinfo*>::iteratorv_Iter;//當作指針用system("cls");//清屏cout<<endl;stringnum;//航班號cout<<"\t***********************歡迎進入航班訂票業(yè)務子系統(tǒng)***********************\n\n";cout<<"\t請輸入要訂票的航班號:";cin>>num;cout<<endl;for(v_Iter=vec_Air->begin();v_Iter!=vec_Air->end();v_Iter++){if((*v_Iter)->GetNum()==num)//找到相應的航班號{(*v_Iter)->PrintInfo();//輸出航班信息break;}}if(v_Iter==vec_Air->end())//如果找到記錄最后還沒有找到此航班的記錄{cout<<"\t對不起,暫時沒有此航班號!";cin.get();cin.get();return;}if((*v_Iter)->m_wPerson.size()!=0)//是否有客戶在等候訂票{for(inti=0;i<(*v_Iter)->m_wPerson.size();i++){//如果第一個客戶所訂票數(shù)小于此航班所剩余的票數(shù),則詢問此客戶是否要訂票if((*v_Iter)->m_wPerson[0].m_nWant<(*v_Iter)->GetLeftCount()){cout<<"\t請先核對并滿足排隊等候本航班的客戶!"<<endl;//計算剩余票數(shù)intleft=(*v_Iter)->GetLeftCount()-(*v_Iter)->m_wPerson[0].m_nWant;charmeet;//滿足要求cout<<"\t可以滿足等候本航班的客戶的訂票數(shù),是否要訂票?(y/n):";cin>>meet;if(meet=='y')//滿足此客戶的訂票需求{vector<Buyer>::iteratorIter_person;//聲明一個客戶類型的指針I(yè)ter_person=(*v_Iter)->m_wPerson.begin();//指向等候隊列首地址(*v_Iter)->SetLeftCount(left);cout<<"\t已經(jīng)為等候本航班的客戶訂票!請通知該客戶!"<<endl;BuyerPerson;Person.m_strID=(*v_Iter)->m_wPerson[0].m_strID;Person.m_strName=(*v_Iter)->m_wPerson[0].m_strName;Person.m_nWant=(*v_Iter)->m_wPerson[0].m_nWant;//把已滿足的客戶放入已訂得票的客戶記錄(*v_Iter)->m_haveBook.push_back(Person);//刪除第一個已經(jīng)滿足訂票的客戶(*v_Iter)->m_wPerson.erase(Iter_person);//輸出修改后的本航班所有信息(*v_Iter)->PrintInfo();i--;}}}}if((*v_Iter)->m_wPerson.size()!=0)//還有客戶等候本航班{charwait='n';cout<<"\t系統(tǒng)暫不能滿足新客戶的訂票要求!是否要排隊等候?(y/n):";cin>>wait;if(wait=='y'){Buyerp;//聲明一個要等候的客戶對象cout<<"\t請輸入此客戶的ID編號:";cin>>p.m_strID;cout<<"\t請輸入此客戶的姓名:";cin>>p.m_strName;cout<<"\t請輸入要訂票的數(shù)目:";cin>>p.m_nWant;(*v_Iter)->m_wPerson.push_back(p);//進行排隊等候cout<<"\t此客戶已經(jīng)進入本航班的訂票排隊!";}}else//新客戶,本航班沒有客戶在等候排票{intcount;cout<<"\t請輸入新客戶要訂票的數(shù)量:";cin>>count;if((*v_Iter)->GetLeftCount()<count)//若余票沒有了{cout<<endl;cout<<"\t對不起,本航班已沒有足夠的票數(shù)"<<endl;cout<<"\n\t是否要進入排隊等候?(y/n):";charch;cin>>ch;if(ch=='y'){Buyerp;cout<<endl;cout<<"\t請輸入此客戶的ID號:";cin>>p.m_strID;cout<<endl;cout<<"\t請輸入此客戶的姓名:";cin>>p.m_strName;p.m_nWant=count;(*v_Iter)->m_wPerson.push_back(p);cout<<"\n\t此客戶已進入等候排隊訂票中!"<<endl;}else{cout<<endl;cout<<"\t您已取消了排隊等候訂票!"<<endl;}}else//可以滿足訂票要求,把新客戶放入已訂得票的客戶記錄里{Buyerperson;cout<<endl;cout<<"\t請輸入新客戶的ID號:";cin>>person.m_strID;cout<<endl;cout<<"\t請輸入新客戶的姓名:";cin>>person.m_strName;person.m_nWant=count;intleft=(*v_Iter)->GetLeftCount()-count;//(*v_Iter)->SetLeftCount(left);//設計本航班剩余票數(shù)(*v_Iter)->m_haveBook.push_back(person);//記錄可訂得票的客戶cout<<endl;cout<<"\t成功為新客戶訂票!"<<endl;}}/////////////////////cout<<"\n\t按任意鍵返回主界面";cin.get();cin.get();}3.5退票功能信息模塊點,然后在等候隊列里面的第一個節(jié)點插入訂票隊列節(jié)點,等候隊列節(jié)點里面的后面幾個節(jié)點前移。若是刪除等候隊列里的節(jié)點,則直接刪除若其后有節(jié)點,則前移。其功能實現(xiàn)如圖3.5所示:圖3.5退票功能模塊圖其具體函數(shù)實現(xiàn)如下:3.6修改航班信息模塊使用了鏈表的順序遍歷。輸入查找的信息字符,順序遍歷后找到節(jié)點,然后修改;其功能實現(xiàn)如圖3.6所示:圖3.6修改航班信息功能模塊圖其具體函數(shù)實現(xiàn)如下:voidModifyAirsysinfo(vector<Airsysinfo*>*vec_Air)//修改航班信息{vector<Airsysinfo*>::iteratorv_Iter;//相當于遍歷指針system("cls");//清屏cout<<endl;cout<<"\t*************************歡迎進入航班信息修改子系統(tǒng)*************************\n\n";stringnum;cout<<"\t請輸入要修改信息的航班號:";cin>>num;for(v_Iter=vec_Air->begin();v_Iter!=vec_Air->end();v_Iter++){if((*v_Iter)->GetNum()==num)//查到相應的航班(編號){(*v_Iter)->PrintInfo();break;}}if(v_Iter==vec_Air->end())//找到最后沒找到相應的航班{cout<<"\n\t對不起,沒有此航班!"<<endl;cout<<"\n\t按任意鍵返回主界面!";cin.get();cin.get();return;}charch='n';cout<<"\n\t是否確定要修改此航班信息?(y/n):";cin>>ch;if(ch=='n')return;//取消修改航班信息charchoice='p';while(choice!='y'){cout<<endl;cout<<"\t\t1.修改航班編號"<<"\t\t\t2.修改航班起點站"<<endl;cout<<"\t\t3.修改航班終點站"<<"\t\t4.修改航班起飛時間(日期)"<<endl;cout<<"\t\t5.修改航班總飛行時間(小時)"<<"\t6.修改航班總票數(shù)"<<endl;cout<<"\t\t7.修改航班剩余票數(shù)"<<"\t\t8.修改等候訂票的客戶信息"<<endl;cout<<"\t\t9.修改已定票的客戶信息"<<"\t\t0.返回主界面"<<endl<<endl;cout<<"\t請選擇(0-8):";cin>>choice;switch(choice){case'1'://修改航班編號{stringtem;cout<<"\n\t請修改本航班編號(輸入新編號):";cin>>tem;(*v_Iter)->SetNum(tem);//設計航班編號cout<<"\n\t成功修改航班編號!";cin.get();cin.get();break;}case'2'://修改航班起飛站{stringtem;cout<<"\n\t請修改本航班起飛站(輸入新起飛站):";cin>>tem;(*v_Iter)->SetStart(tem);//設計航班起飛站cout<<"\n\t成功修改航班起飛站!";cin.get();cin.get();break;}case'3'://修改航班終點站{stringtem;cout<<"\n\t請修改本航班終點站(輸入新終點站):";cin>>tem;(*v_Iter)->SetEnd(tem);//設計航班終點站cout<<"\n\t成功修改航班終點站!";cin.get();cin.get();break;}case'4'://修改航班起飛時間(日期){stringtem;cout<<"\n\t請修改本航班起飛日期(輸入新日期):";cin>>tem;(*v_Iter)->SetTime(tem);//設計航班起飛時間cout<<"\n\t成功修改航班起飛時間(日期)!";cin.get();cin.get();break;}case'5'://修改航班總飛行時間(小時){stringtem;cout<<"\n\t請修改本航班總飛行時間(小時):";cin>>tem;(*v_Iter)->SetFlyTime(tem);//設計航班飛行時間cout<<"\n\t成功修改航班飛行時間!";cin.get();cin.get();break;}case'6'://修改航班總票數(shù){stringtem;cout<<"\n\t請修改本航班總票數(shù)(輸入新票數(shù)):";cin>>tem;intcount=atoi(tem.c_str());(*v_Iter)->SetCount(count);//設計航班總票數(shù)cout<<"\n\t成功修改航班票數(shù)!";cin.get();cin.get();break;}case'7'://修改航班剩余票數(shù){intleft;cout<<"\n\t請輸入要修改后的航班剩余票數(shù):";cin>>left;(*v_Iter)->SetLeftCount(left);cout<<"\n\t成功修改航班剩余票數(shù)!";cin.get();cin.get();break;}case'8'://修改等候訂本航班票的客戶{stringstrID;//客戶IDcout<<"\n\t請選擇(輸入)要修改的客戶ID號:";cin>>strID;for(inti=0;i<(*v_Iter)->m_wPerson.size();i++){if((*v_Iter)->m_wPerson[i].m_strID==strID)//查找相應ID號的客戶{cout<<"\n\t所選客戶信息如下:"<<endl;cout<<"\n\t客戶ID:"<<(*v_Iter)->m_wPerson[i].m_strID<<"\t姓名:"<<(*v_Iter)->m_wPerson[i].m_strName<<"\t\t所訂票數(shù):"<<(*v_Iter)->m_wPerson[i].m_nWant<<endl;charmodify='n';cout<<"\n\t是否要修改此客戶的信息?(y/n):";cin>>modify;if(modify=='y')//確定修改此客戶的信息{//重新輸入此客戶的所有信息cout<<"\n\t請輸入修改后的客戶ID號:";cin>>(*v_Iter)->m_wPerson[i].m_strID;cout<<"\n\t請輸入修改后的客戶姓名:";cin>>(*v_Iter)->m_wPerson[i].m_strName;cout<<"\n\t請輸入修改后的客戶訂票數(shù)量:";cin>>(*v_Iter)->m_wPerson[i].m_nWant;cout<<endl;cout<<"\t成功修改客戶信息!";cin.get();cin.get();}}}break;}case'9'://修改已訂本航班票的客戶{stringstrID;//客戶IDcout<<"\n\t請輸入要修改的客戶ID號:";cin>>strID;for(inti=0;i<(*v_Iter)->m_haveBook.size();i++){if((*v_Iter)->m_haveBook[i].m_strID==strID)//查找相應ID號的客戶{cout<<"\n\t所選客戶信息如下:"<<endl;cout<<"\n\t客戶ID:"<<(*v_Iter)->m_haveBook[i].m_strID<<"\t姓名:"<<(*v_Iter)->m_haveBook[i].m_strName<<"\t\t所訂票數(shù):"<<(*v_Iter)->m_haveBook[i].m_nWant<<endl;charmodify='n';cout<<"\n\t是否要修改此客戶的信息?(y/n):";cin>>modify;if(modify=='y')//確定修改此客戶的信息{//重新輸入此客戶的所有信息cout<<"\n\t請輸入修改后的客戶ID號:";cin>>(*v_Iter)->m_haveBook[i].m_strID;cout<<"\n\t請輸入修改后的客戶姓名:";cin>>(*v_Iter)->m_haveBook[i].m_strName;cout<<"\n\t請輸入修改后的客戶訂票數(shù)量:";cin>>(*v_Iter)->m_haveBook[i].m_nWant;cout<<endl;cout<<"\t成功修改客戶信息!";

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論