版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C程序課程設(shè)計(jì)報(bào)告題目:航班管理系統(tǒng)班級:學(xué)號(hào):姓名: 指導(dǎo)教師: 年 月 日一、問題描述2二、設(shè)計(jì)及實(shí)驗(yàn)要點(diǎn)31功能分析32、總體設(shè)計(jì)4(一)、功能模塊設(shè)計(jì)41.航班管理系統(tǒng)的功能主流程42.管理系統(tǒng)的查詢功能53.顧客進(jìn)行訂票的功能模塊54.退票的功能模塊55.續(xù)票的功能模塊56.在訂票續(xù)票功能完成之后,對顧客訂票信息的查詢功能模塊67.退出系統(tǒng)的功能模塊6(二)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)6(三)、函數(shù)功能描述8三、源程序(見附錄)9四、程序?qū)崿F(xiàn)9(一)源碼分析91.程序預(yù)處理92.主函數(shù)main()123管理系統(tǒng)的查詢功能124.顧客訂票的功能模塊145.顧客退票的功能模塊165.顧客續(xù)票的功能模塊
2、18(二)運(yùn)行結(jié)果22五、不足之處22六、參考文獻(xiàn)22航班管理系統(tǒng)一、問題描述 航班售票是民航業(yè)務(wù)管理的一項(xiàng)最基本業(yè)務(wù)。表面上看,他只是民航業(yè)務(wù)的一個(gè)簡單部分,但是她涉及的業(yè)務(wù)量大、客戶多,還涉及資金管理與客戶服務(wù)等多方面,因此這項(xiàng)業(yè)務(wù)并不像看上去那么簡單。過去傳統(tǒng)的售票方式已不能滿足現(xiàn)代航空業(yè)務(wù)流量劇增的客戶要求,本次設(shè)計(jì)便是利用目前先進(jìn)的開發(fā)工具Delphi7.0以及SQL server 2000開發(fā)一個(gè)航班售票管理系統(tǒng),她能方便快捷的運(yùn)用在民航業(yè)務(wù)的營運(yùn)之中。本系統(tǒng)是對民航飛機(jī)售票業(yè)務(wù)的一種模擬。此次的開發(fā)系統(tǒng)主要是完成航班售票管理的各種自動(dòng)化服務(wù),通過計(jì)算機(jī)的運(yùn)行完成各項(xiàng)事務(wù),設(shè)計(jì)一個(gè)
3、航班售票管理的數(shù)據(jù)管理系統(tǒng)。通過開發(fā)此系統(tǒng),可穩(wěn)定簡便地通過計(jì)算機(jī)來執(zhí)行一系列操作,減少人工勞動(dòng)強(qiáng)度,達(dá)到省時(shí)省力的目的,內(nèi)容包括乘客信息添加、修改、刪除、查詢;航班的售票訂票的添加、修改、刪除、查詢;航空公司的航班時(shí)刻表的查詢等。在此次課程設(shè)計(jì)的實(shí)驗(yàn)中,便是利用C語言和數(shù)據(jù)結(jié)構(gòu)的一些知識(shí)模擬航班管理系統(tǒng)。二、設(shè)計(jì)及實(shí)驗(yàn)要點(diǎn)1功能分析如圖一 所示航班管理系統(tǒng)主要有以下第一: 具有乘客乘坐飛機(jī)的起點(diǎn)、終點(diǎn)、日期和可以使用的座位等基本信息。第二: 售票/訂票系統(tǒng):包括乘客信息添加、修改、刪除、查詢。第三: 可以在顧客退票時(shí),及時(shí)讓侯票的顧客補(bǔ)到票第四: 顧客可以及時(shí)的查詢自己是不是訂票成功。第五:
4、 顧客可以在無票時(shí)能預(yù)定票數(shù)。航班管理系統(tǒng)所有航班的信息查詢航線客票預(yù)訂辦理退票查看資料 (圖一:航班管理系統(tǒng)功能的主要模塊)開始查詢所有的航班信息(包括航班號(hào),票數(shù),以及時(shí)間和到達(dá)地點(diǎn)等) 查詢要到的目的地的所有航線。客票預(yù)訂,調(diào)用book( )函數(shù),辦理退票,調(diào)用back-ticket( )函數(shù),查看資料,調(diào)用Getlem( )函數(shù),結(jié)束 (圖二:航班管理系統(tǒng)的主流程圖)2、總體設(shè)計(jì)(一)、功能模塊設(shè)計(jì)1.航班管理系統(tǒng)的功能主流程2.管理系統(tǒng)的查詢功能3.顧客進(jìn)行訂票的功能模塊 4.退票的功能模塊5.續(xù)票的功能模塊6.在訂票續(xù)票功能完成之后,對顧客訂票信息的查詢功能模塊7.退出系統(tǒng)的功能模
5、塊(二)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)此程序中運(yùn)用了C語言的結(jié)構(gòu)體,數(shù)據(jù)結(jié)構(gòu)中鏈表和隊(duì)列的相關(guān)知識(shí),為了便于理解陳旭,這里分別來介紹。1 訂票顧客的結(jié)構(gòu)體 typedef struct PassengerNode /訂票客戶結(jié)點(diǎn) 。PassengerNode; /已訂票客戶結(jié)點(diǎn)typedef structPassengerNode結(jié)構(gòu)體在系統(tǒng)中用來存儲(chǔ)顧客的一些基本信息,如以上定義一樣,包括 顧客的姓名 訂票客戶身份號(hào)碼 顧客的電話號(hào)碼 訂票的數(shù)量 和艙位等級以及用“PassengerNode *next;”來指向下一個(gè)訂票客戶結(jié)點(diǎn)。2. 待訂票客戶的結(jié)構(gòu)體typedef struct WPassengerN
6、ode 。WPassengerNode; /待訂票客戶結(jié)點(diǎn)WpassengerNode結(jié)構(gòu)體在系統(tǒng)中用來存儲(chǔ)待訂票客戶的一些基本信息,如以上定義,包括待訂票客戶的姓名 待訂票客戶的身份證號(hào) 待訂票客戶電話號(hào)碼 待訂票客戶機(jī)票需求量以及用“WPassengerNode *next;”來指向下一個(gè)待訂票客戶節(jié)點(diǎn)。3. /訂票客戶鏈表typedef struct 。passengerLink; /已訂票客戶單鏈表(按ID有序)在該鏈表中,用“ PassengerNode *passenger;”來指向訂票客戶,用“ int length;”來統(tǒng)計(jì)訂票的人數(shù)4. 待訂票客戶的隊(duì)列typedef str
7、uct 。WpassengerQueue; /侍訂票客戶鏈隊(duì)列在該隊(duì)列中,“WPassengerNode *front;”用來指向隊(duì)列中的第一個(gè)人,即為頭指針,“WPassengerNode *rear;”指向隊(duì)尾。4.航班節(jié)點(diǎn)(即每一個(gè)航班的結(jié)構(gòu)體)typedef struct flightnode /航班結(jié)點(diǎn) 。flightnode;/航班結(jié)點(diǎn)在該航班節(jié)點(diǎn)中,用來存儲(chǔ)每一個(gè)航班的信息,其中有終點(diǎn)站名稱 航班編號(hào) 飛機(jī)編號(hào) 飛行周日 飛機(jī)能載最大人數(shù) 還余下多少張票等基本信息并用“flightnode *next;”來指向下一個(gè)航班節(jié)點(diǎn),用“ WpassengerQueue npasseng
8、er;”來指向本次航班帶票客戶隊(duì)列,用“passengerLink passenger;”來指向本次航班已定票的客戶鏈表。5.航班順序表的定義typedef struct 。SqFlight;/航班順序線性表此結(jié)構(gòu)體中用“flightnode *flight;”來指向系統(tǒng)中的所有航班的頭指針,用“int length;”來統(tǒng)計(jì)航班的數(shù)量。(三)、函數(shù)功能描述1. ask_passenger()函數(shù)原型int ask_passenger(flightnode *p,SqFlight LF)該函數(shù)用來完成顧客續(xù)票的操作2. back_ticket()函數(shù)原型int back_ticket(int
9、number,SqFlight &LF)該函數(shù)用來完成為顧客辦理退票業(yè)務(wù)。3. book()函數(shù)原型int book(int number,SqFlight &LF)該函數(shù)用來完成顧客的訂票業(yè)務(wù)4. GetElem()函數(shù)原型int GetElem(SqFlight LF,int number)該函數(shù)用來完成顧客查詢基本資料的一些操作5. InitFlightNode()函數(shù)原型int InitFlightNode(SqFlight& LF)該函數(shù)用來完成對航班順序表中的每一個(gè)航班進(jìn)行賦值并將賦值后的航班連接到航班順序表中6. InitList_Sq()函數(shù)原型int
10、InitList_Sq(SqFlight &LF) 此函數(shù)用來構(gòu)造一個(gè)空的線性表LF 飛機(jī)航班結(jié)點(diǎn)7. InitList_pa()函數(shù)原型int InitList_pa(passengerLink &PA)該函數(shù) 用來為已訂票客戶鏈表建一個(gè)空鏈表8. InitList_WPQ()函數(shù)原型int InitList_WPQ(WpassengerQueue &WPQ)該函數(shù) 用來為待票客戶建一個(gè)空的隊(duì)列9. lookup()函數(shù)原型int lookup(char *cityname,SqFlight LF)用來查找航班,形參指針cityname指向查詢時(shí)輸入的航線的首地址,引
11、用航班順序線性表LF10. searchID()函數(shù)原型PassengerNode *searchID(flightnode *p,char *ID)p是指向某個(gè)航班結(jié)點(diǎn)的指,ID是要查詢的ID,該函數(shù)是通過ID號(hào)來查詢航班,并返回已訂票顧客節(jié)點(diǎn)11. searchNUM()函數(shù)原型flightnode *searchNUM(int number,SqFlight LF)該函數(shù)通過number來按航班號(hào)查詢航班,并返回相關(guān)的航班節(jié)點(diǎn)12. system1()函數(shù)原型void system1(SqFlight LF)該函數(shù)主要實(shí)現(xiàn)/顯示主菜單 能實(shí)現(xiàn)的操作等并像用戶提供進(jìn)行選擇的界面。13. w
12、book()函數(shù)原型int wbook(SqFlight & LF,flightnode *p)該函數(shù)是續(xù)票函數(shù)的補(bǔ)充,主要實(shí)現(xiàn)將待票客戶插入到待票隊(duì)列的隊(duì)尾14. main()函數(shù)原型void main()該函數(shù)先通過system("color 0A"); 來實(shí)現(xiàn)改變背景和前景顏色的效果,繼而分別通過InitList_Sq(LF);InitFlightNode(LF);來完成對航班順序表的初始化。最后通過system1(LF); 來進(jìn)入顯示系統(tǒng)的主界面,以供用戶選擇。三、源程序(見附錄)四、程序?qū)崿F(xiàn)(一)源碼分析1.程序預(yù)處理2.主函數(shù)main()主函數(shù)實(shí)現(xiàn)功能主
13、要是為進(jìn)入系統(tǒng)做好準(zhǔn)備,并完成航班的初始化,即對各個(gè)航班賦上初值。void main()system("color 0A");/改變背景和前景顏色system("mode con: cols=70 lines=35");/調(diào)整顯示方框的大小SqFlight LF;InitList_Sq(LF);InitFlightNode(LF);system1(LF);printf("n");3管理系統(tǒng)的查詢功能該功能主要實(shí)在主函數(shù)初始化的前提下,調(diào)用lookup( )函數(shù)來完成所有航班的查詢。另外也可以通過目的地,輸入目的地的大寫字母來調(diào)用loo
14、kup.( )來完成。int lookup(char *cityname,SqFlight LF) /查詢系統(tǒng) /形參指針cityname指向查詢時(shí)輸入的航線的首地址 /引用航班順序線性表LF。其操作實(shí)現(xiàn)的結(jié)果按如圖 1 所示。當(dāng)輸入目的地的結(jié)果如圖 2 所示。查詢完以后,按任意鍵有可進(jìn)入主界面 圖 1 圖 2 (輸入目的地的準(zhǔn)確查詢)4.顧客訂票的功能模塊。實(shí)現(xiàn)結(jié)果如圖 3 所示 圖 3 (訂票成功)5.顧客退票的功能模塊在完成訂票后,如果要退票,顧客可在在主界面中選擇 4 進(jìn)行退票,此時(shí)通過調(diào)用函數(shù)back_ticket()來完成,在此函數(shù)中,先通過searchNUM(number,LF)
15、 找到要辦理航班的航班,繼而通過修改訂票人的鏈表和剩余票數(shù)來刪除要退票的人的信息。具體操作如下所示int back_ticket(int number,SqFlight &LF)/辦理退票業(yè)務(wù) 。實(shí)現(xiàn)結(jié)果如圖 4 所示 圖 4 (退票成功)5.顧客續(xù)票的功能模塊在有待票客戶的前提下,系統(tǒng)通過ask_passenger()來完成待票人的補(bǔ)訂,并將其加入到已定票人的序列中,具體操作如下int ask_passenger(flightnode *p,SqFlight LF)。具體實(shí)現(xiàn)的結(jié)果如以下所示圖 5是有待票人的情況。 圖 5 (沒有足夠的票,進(jìn)入到待票的隊(duì)列中)圖 6 為在有人退票的情況下進(jìn)行的補(bǔ)票即在顯示退票的情況下,即顯示“退票成功”后會(huì)出現(xiàn)待票人的一些信息,并詢問是不是要購票。在1.要 2.不要 的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版油氣田鉆井技術(shù)服務(wù)質(zhì)量承包合同3篇
- 2025年度環(huán)保型廠房設(shè)計(jì)與施工總承包合同3篇
- 二零二四年在線教育平臺(tái)軟件全國代理銷售合同模板2篇
- 2025年度全國范圍內(nèi)土地測繪技術(shù)服務(wù)合同范文3篇
- 2024版液化天然氣交易協(xié)議全文下載版B版
- 2024版運(yùn)輸行業(yè)職員勞動(dòng)協(xié)議樣本
- 2024年地基買賣合同附帶地基檢測及質(zhì)量認(rèn)證3篇
- 2025年大棚農(nóng)業(yè)綠色生產(chǎn)技術(shù)引進(jìn)合同3篇
- 2025年度綠色建筑:知識(shí)產(chǎn)權(quán)許可與環(huán)保建材合同3篇
- 2025年智慧能源物業(yè)工程承包及節(jié)能服務(wù)合同3篇
- 2024版塑料購銷合同范本買賣
- 【高一上】【期末話收獲 家校話未來】期末家長會(huì)
- JJF 2184-2025電子計(jì)價(jià)秤型式評價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 有毒有害氣體崗位操作規(guī)程(3篇)
- 兒童常見呼吸系統(tǒng)疾病免疫調(diào)節(jié)劑合理使用專家共識(shí)2024(全文)
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 二年級下冊加減混合豎式練習(xí)360題附答案
- 汽輪機(jī)盤車課件
- 異地就醫(yī)備案個(gè)人承諾書
- 蘇教版五年級數(shù)學(xué)下冊解方程五種類型50題
評論
0/150
提交評論