版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、百度文庫- 讓每個人平等地提升自我課程設(shè)計報告課程名稱數(shù)據(jù)結(jié)構(gòu)課題名稱航空客運訂票系統(tǒng)專業(yè)通信工程班級學(xué)號1百度文庫- 讓每個人平等地提升自我姓名指導(dǎo)教師2013年6月29日2百度文庫- 讓每個人平等地提升自我湖南工程學(xué)院課程設(shè)計任務(wù)書課程名稱課題數(shù)據(jù)結(jié)構(gòu)航空客運訂票系統(tǒng)專業(yè)班級學(xué)生姓名學(xué)號指導(dǎo)老師張鏖烽田娟秀李杰君審批任務(wù)書下達日期2013年6月 23日任 務(wù) 完成日期2013年6月 29日目 錄3百度文庫- 讓每個人平等地提升自我1. 需求分析12. 概要設(shè)計1定義“航線”類型2主函數(shù)2調(diào)用關(guān)系33. 詳細設(shè)計3航線與客戶的存儲結(jié)構(gòu)3各個系統(tǒng)模塊3算法設(shè)計4主函數(shù)功能6整個系統(tǒng)的流程圖7存
2、儲結(jié)構(gòu)設(shè)計74. 調(diào)試分析75. 用戶使用說明86. 測試結(jié)果107. 心得體會128. 附錄134課 題 名 稱航空客運訂票系統(tǒng)1. 需求分析航空客運訂票的業(yè)務(wù)活動包括:查詢航線、客票預(yù)訂和辦理退票等。試設(shè)計一個航空客運訂票系統(tǒng),以使上述業(yè)務(wù)可以借助計算機來完成?!净疽蟆?1) 每條航線所涉及的信息有:終點站名、航班號、飛機號、飛行周日 ( 星期幾 ) 、乘員定額、余票量、已訂票的客戶名單 ( 包括姓名、訂票量、艙位等級 1,2 或 3) 以及等候替補的客戶名單 ( 包括姓名、所需票量 ) ;(2) 系統(tǒng)能實現(xiàn)的操作和功能如下:錄入:可以錄入航班情況,全部數(shù)據(jù)可以只放在內(nèi)存中,最好存儲在
3、文件中;查詢航線:根據(jù)旅客提出的終點站名輸出下列信息:航班號、飛機號、星期幾飛行,最近一天航班的日期和余票額;承辦訂票業(yè)務(wù):根據(jù)客戶提出的要求 ( 航班號、訂票數(shù)額 ) 查詢該航班票額情況,若尚有余票,則為客戶辦理訂票手續(xù),輸出座位號;若已滿員或余票額少于訂票額,則需重新詢問客戶要求。若需要,可登記排隊候補;承辦退票業(yè)務(wù):根據(jù)客戶提供的情況 ( 日期、航班 ) ,為客戶辦理退票手續(xù),然后查詢該航班是否有人排隊候補, 首先詢問排在第一的客戶, 若所退票額能滿足他的要求,則為他辦理訂票手續(xù),否則依次詢問其他排隊候補的客戶。初始化航班信息如下:通過輸入 05 這六個數(shù)字選擇相應(yīng)的操作,如:查詢航班,
4、訂票,退票等操作;2. 概要設(shè)計兩個客戶名單可分別由線性表和隊列實現(xiàn)。為查找方便,已訂票客戶的線性表應(yīng)按客戶姓名有序,并且,為插入和刪除方便,應(yīng)以鏈表作存儲結(jié)構(gòu)。由于預(yù)約人數(shù)無法預(yù)計,隊列也應(yīng)以鏈表作存儲結(jié)構(gòu)。整個系統(tǒng)需匯總各條航線的情況登錄在一張線性表上,由于航線基本不變,可采用順序存儲結(jié)構(gòu),并按航班有序或按終點站名有序。每條航線是這張表上的一個記錄,包含上述8 個域、其中乘員名單域為指向乘員名單鏈表1的頭指針,等候替補的客戶名單域為分別指向隊頭和隊尾的指針。注:由于“航線”可只用一條單鏈表記錄,故采用全局變量,減少參數(shù)的傳遞。定義“航線”類型ADT Lairline數(shù)據(jù)對象: D=ai|a
5、i航線鏈表集, i=1,2,3,n,n>=0數(shù)據(jù)關(guān)系 :R1=<ai-1,ai>| ai-1,ai D, i=1,2,3,n 基本操作:Lairline search_line()照航班查找Lairline search_line()char a10;airline *p;p=L->next;P("Please input the number of line:");S("%s",a);for(;p;p=p->next)if(!strcmp(a,p->line_num )break;return p;注:通過建立節(jié)點p
6、 實現(xiàn)鏈表的遍歷,利用for 循環(huán)挨個查找,直到找到為止,再返回找到的這個節(jié)點,實現(xiàn)傳遞。2. 訂票系統(tǒng)void book()int i;int flag=0;airline *p;customer *cst, *c;P("Please choose the way of viewing:n"); 始化航線void InitLine()班查詢void search()int i;int flag=0;airline *p;P("Please input the way of viewing the flight:n");P("Thenumber
7、oftheflight->1n");2照飛機型號查找char a10;airline *p;p=L->next;P("Please input the number of plane:");S("%s",a);for(;p;p=p->next)if(!strcmp(a,p->plane_num) break;return p;Lairline search_date()照日期查詢航班3int a;airline *p;p=L->next;P("Please input the date of plane:
8、");S("%d",&a);航班終點查找航班char a20;airline *p; p=L->next;P("Please input the final address of the plane:");S("%s",a); for(;p;p=p->next)if(!strcmp(a,p->ter_address) break;return p;/*主界面 */void boundary()P(" * 歡迎您進入航空訂票客服系統(tǒng) * n "); P("n")
9、; P(" O( _)O 請選擇您要進行的業(yè)務(wù): n");P("tt顯示所有航線 =>請輸入 1n");P("tt查詢航線信息 =>請輸入 2n");P("tt進入訂票系統(tǒng) =>請輸入 3n");P("tt進入退票系統(tǒng) =>請輸入 4n");P("tt 退出客服系統(tǒng) =>請輸入 0n"); P("n");P("tt清除屏幕信息 =>請輸入 5n");P(" 請按照以上的信息提示進行操作:t&
10、quot;);/*顯示乘客信息 */void print_customer(airline *p)customer *c;if(p->booked)c=p->booked;P(" 已經(jīng)購票的乘客的信息 nt票數(shù) t 姓名 tn");for(;c;c=c->next)4P("%5dtt %sn",c->num,c->name);P("nn");else P(" ( _) 暫時沒有客戶訂票 !nn"); if(p->wait)c=p->wait;P("排隊購票的乘客的
11、信息 nt票數(shù) t姓名 tnn");for(;c;c=c->next)P("%5dtt %sn",c->num,c->name);P("nn");elseP(" 暫時沒有客戶排隊訂票 nn");/*插入新航班(創(chuàng)建鏈表)*/void insert_line() airline *p,*q;int flag=1; for(;flag;)q=(Lairline)malloc(sizeof(airline);P("Please input the number of the plane: ")
12、;S("%s",q->line_num);for(p=L;p->next;p=p->next)if(strcmp(p->next->line_num,q->line_num)>=0) break; if(p->next&&strcmp(p->next->line_num,q->line_num)=0)P(" 航班已存在,請重新輸入n");continue; ,q->next->name,q->next->num);P("Doyouwantt
13、obookthetickets?YES(1)NO(0)");S("%d",&flag);if(flag)/如果選擇訂票 q0=q->next; q->next=q->next->next;/插入 q0 節(jié)點5q0->next=p->booked; p->booked=q0;p->remain=p->remain-q0->num; /q0 定完票后,余票進行修改 P("SUCCESS! O( _)Onnn");elseq=q->next;/沒有選擇訂票 elseq=q-&g
14、t;next;/余票不足時 p->wait=h->next;/*退票系統(tǒng) */void Refund()int flag;char a20;airline *p;customer *c,*c1;p=search_line();/查找到對應(yīng)的航班c=p->booked;/已經(jīng)訂票的客戶為cif(!p)P("The airline is not exist!nn");boundary();/返回主界面return;P("Please input your name:");S("%s",a);if(!p->booke
15、d->name) /如果未找到這個人的信息P("Sorry!Your information isn't found!( _) n");boundary();/返回主界面return;if(!strcmp(a,p->booked->name)/6P("The information of returning tickets:n");/退票信息P("Name:%stFinalAddress:%stTickets:%dtn",p->booked->name,p->ter_address,p-&g
16、t;booked->num);P("Do you want to return the tickets? YES(1)NO(0)n"); /是否退票S("%d",&flag);if(flag)/如果退票p->booked=p->booked->next; / 刪除節(jié)點操作 p->remain=p->remain+c->num; / 余票數(shù)目增加 free(c);P("SUCCESS!O( _)Onnnnn");/退票成功waited(p);/再次詢問是否排隊訂票boundary();/
17、返回主菜單elsefor(;c->next;c=c->next)if(!strcmp(a,c->next->name) / 查找這個訂票人的信息 break;if(!c->next)/沒有找到這個人的信息P("Sorry!Can't find your information!nn");boundary();return;else/找到了此人的訂票信息P("The information of returning tickets:n");P("Name:%stFinalAddress:%stTickets:
18、%dtn",p->booked->name,p->ter_address,p->booked->num);P("Do you want to returnthe tickets? YES(1)NO(0)n"); /是否退票S("%d",&flag);if(flag)/確定退票7c1=c->next;c->next=c->next->next;/刪除節(jié)點p->remain=p->remain+c1->num;/余票數(shù)目增加free(c1);P("The op
19、eration is successful!O( _ )Onn");waited(p);boundary();/*航班查詢系統(tǒng) */void search()int i;int flag=0;airline *p;P("Please input the way of viewing the flight: n");/請輸入查詢航班的方式P("The number of the flight->1n");P("The number of the plane->2n");P("The date of the
20、 flight->3n");P("The final address of the flight->4n");/航班號/飛機號碼/航班日期/航班終點S("%d",&i);for(;!flag;)switch(i)/按照選擇項進行操作 case 1: p=search_line();flag=1;break; case 2: p=search_plane();flag=1;break; case 3: p=search_date();flag=1;break; case 4: p=search_address();flag-=
21、1;break;default:P("Wrong,input again!n");break;if(p)P(" 終點站航班號飛機號飛行周日余票量 n");P("%-9s%9s%13s%10d%15dn",p->ter_address,p->line_num,p->plane_num,p->date,p->remain);P("Bookingthetickets?(Sure,pleaseinput1;Elseinputanynumber! )");S("%d",&am
22、p;i);8if(i=1)book();ElseP("nnnn");boundary();Else P("The flight is not exist!( _) nnn"); /*顯示所有航班信息 */void printline()int flag;airline *p;p=L->next;P(" 終點站航班號飛機號飛行周日余票量 n");for(;p;p=p->next)P("%-15s%7s%15s%8d%12dn",p->ter_address,p->line_num,p->
23、plane_num,p->date,p->remain);P("nnnnn");boundary(); /*初始化航線信息 */void InitLine()airline *p,*q;L=(airline*)malloc(sizeof(airline);L->booked=NULL;/初始化航線信息L->wait=NULL;L->next=NULL;strcpy(L->ter_address,"00000000");strcpy(L->line_num,"000");strcpy(L->
24、;plane_num,"0000000");L->date=L->remain=L->total=0;q=L;p=(airline *)malloc(sizeof(airline); /航線一p->booked=NULL;p->wait=NULL;strcpy(p->ter_address,"jiangsu");strcpy(p->line_num,"003");strcpy(p->plane_num,"3333333");p->date=1;p->remain=120;p->total=120;p->next=q->next;q->next=p;p=(airline *)malloc(sizeof(airline); /航線二p->booked=NULL;p->wait=NULL;strcpy(p->ter_address,"shanghai");strcpy(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國KTV行業(yè)全國市場開拓戰(zhàn)略制定與實施研究報告
- 新形勢下高硬脆材料加工行業(yè)快速做大市場規(guī)模戰(zhàn)略制定與實施研究報告
- 2025-2030年中國連接器及屏蔽罩行業(yè)營銷創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國餐飲供應(yīng)鏈行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國新型煙草行業(yè)資本規(guī)劃與股權(quán)融資戰(zhàn)略制定與實施研究報告
- 自動扶梯技術(shù)參數(shù)
- 2021-2026年中國職業(yè)培訓(xùn)中心市場競爭格局及投資戰(zhàn)略規(guī)劃報告
- 鐵礦機電知識培訓(xùn)課件
- 環(huán)保與護膚知識培訓(xùn)課件
- 二零二五年度家居裝飾店鋪轉(zhuǎn)讓合同示范文本2篇
- 滯銷風(fēng)險管理制度內(nèi)容
- 關(guān)于物業(yè)服務(wù)意識的培訓(xùn)
- JJF 2184-2025電子計價秤型式評價大綱(試行)
- 排污許可證辦理合同1(2025年)
- GB/T 44890-2024行政許可工作規(guī)范
- 上??颇恳豢荚囶}庫參考資料1500題-上海市地方題庫-0
- 【7地XJ期末】安徽省宣城市寧國市2023-2024學(xué)年七年級上學(xué)期期末考試地理試題(含解析)
- 設(shè)備操作、保養(yǎng)和維修規(guī)定(4篇)
- 2025年度日歷臺歷黃歷模板
- 醫(yī)療行業(yè)十四五規(guī)劃
- 有毒有害氣體崗位操作規(guī)程(3篇)
評論
0/150
提交評論