C語言課程設(shè)計報告-航班管理系統(tǒng)_第1頁
C語言課程設(shè)計報告-航班管理系統(tǒng)_第2頁
C語言課程設(shè)計報告-航班管理系統(tǒng)_第3頁
C語言課程設(shè)計報告-航班管理系統(tǒng)_第4頁
C語言課程設(shè)計報告-航班管理系統(tǒng)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C程序課程設(shè)計報告題目:航班管理系統(tǒng)班級:學(xué)號:姓名:指導(dǎo)教師:年月日一、問題描述 2二、設(shè)計及實驗要點 31功能分析 32、總體設(shè)計 4(一)、功能模塊設(shè)計 41.航班管理系統(tǒng)的功能主流程 42.管理系統(tǒng)的查詢功能 53.顧客進行訂票的功能模塊 54.退票的功能模塊 55.續(xù)票的功能模塊 56.在訂票續(xù)票功能完成之后,對顧客訂票信息的查詢功能模塊 67.退出系統(tǒng)的功能模塊 6(二)、數(shù)據(jù)結(jié)構(gòu)設(shè)計 6(三)、函數(shù)功能描述 8三、源程序(見附錄) 9四、程序?qū)崿F(xiàn) 9(一)源碼分析 91.程序預(yù)處理 92.主函數(shù)main() 123管理系統(tǒng)的查詢功能 124.顧客訂票的功能模塊 145.顧客退票的功能模塊 165.顧客續(xù)票的功能模塊 18(二)運行結(jié)果 22五、不足之處 22六、參考文獻 22航班管理系統(tǒng)一、問題描述航班售票是民航業(yè)務(wù)管理的一項最基本業(yè)務(wù)。表面上看,他只是民航業(yè)務(wù)的一個簡單部分,但是她涉及的業(yè)務(wù)量大、客戶多,還涉及資金管理與客戶服務(wù)等多方面,因此這項業(yè)務(wù)并不像看上去那么簡單。過去傳統(tǒng)的售票方式已不能滿足現(xiàn)代航空業(yè)務(wù)流量劇增的客戶要求,本次設(shè)計便是利用目前先進的開發(fā)工具Delphi7.0以及SQLserver2000開發(fā)一個航班售票管理系統(tǒng),她能方便快捷的運用在民航業(yè)務(wù)的營運之中。本系統(tǒng)是對民航飛機售票業(yè)務(wù)的一種模擬。

此次的開發(fā)系統(tǒng)主要是完成航班售票管理的各種自動化服務(wù),通過計算機的運行完成各項事務(wù),設(shè)計一個航班售票管理的數(shù)據(jù)管理系統(tǒng)。通過開發(fā)此系統(tǒng),可穩(wěn)定簡便地通過計算機來執(zhí)行一系列操作,減少人工勞動強度,達到省時省力的目的,內(nèi)容包括乘客信息添加、修改、刪除、查詢;航班的售票訂票的添加、修改、刪除、查詢;航空公司的航班時刻表的查詢等。在此次課程設(shè)計的實驗中,便是利用C語言和數(shù)據(jù)結(jié)構(gòu)的一些知識模擬航班管理系統(tǒng)。二、設(shè)計及實驗要點1功能分析如圖一所示航班管理系統(tǒng)主要有以下第一:具有乘客乘坐飛機的起點、終點、日期和可以使用的座位等基本信息。第二:售票/訂票系統(tǒng):包括乘客信息添加、修改、刪除、查詢。第三:可以在顧客退票時,及時讓侯票的顧客補到票第四:顧客可以及時的查詢自己是不是訂票成功。第五:顧客可以在無票時能預(yù)定票數(shù)。航班管理系統(tǒng)航班管理系統(tǒng)所有航班的信息查詢航線客票預(yù)訂辦理退票查看資料(圖一:航班管理系統(tǒng)功能的主要模塊)開始開始查詢所有的航班信息(包括航班號,票數(shù),以及時間和到達地點等)查詢所有的航班信息(包括航班號,票數(shù),以及時間和到達地點等) 查詢要到的目的地的所有航線。查詢要到的目的地的所有航線。 客票預(yù)訂,調(diào)用book()函數(shù),客票預(yù)訂,調(diào)用book()函數(shù), 辦理退票,調(diào)用back-ticket()函數(shù),辦理退票,調(diào)用back-ticket()函數(shù), 查看資料,調(diào)用Getlem()函數(shù),查看資料,調(diào)用Getlem()函數(shù), 結(jié)束結(jié)束 (圖二:航班管理系統(tǒng)的主流程圖)2、總體設(shè)計(一)、功能模塊設(shè)計1.航班管理系統(tǒng)的功能主流程2.管理系統(tǒng)的查詢功能3.顧客進行訂票的功能模塊4.退票的功能模塊5.續(xù)票的功能模塊6.在訂票續(xù)票功能完成之后,對顧客訂票信息的查詢功能模塊7.退出系統(tǒng)的功能模塊(二)、數(shù)據(jù)結(jié)構(gòu)設(shè)計此程序中運用了C語言的結(jié)構(gòu)體,數(shù)據(jù)結(jié)構(gòu)中鏈表和隊列的相關(guān)知識,為了便于理解陳旭,這里分別來介紹。訂票顧客的結(jié)構(gòu)體typedefstructPassengerNode//訂票客戶結(jié)點{。。。。。。}PassengerNode;//已訂票客戶結(jié)點typedefstructPassengerNode結(jié)構(gòu)體在系統(tǒng)中用來存儲顧客的一些基本信息,如以上定義一樣,包括顧客的姓名訂票客戶身份號碼顧客的電話號碼訂票的數(shù)量和艙位等級以及用“PassengerNode*next;”來指向下一個訂票客戶結(jié)點。2.待訂票客戶的結(jié)構(gòu)體typedefstructWPassengerNode{。。。。。。}WPassengerNode;//待訂票客戶結(jié)點WpassengerNode結(jié)構(gòu)體在系統(tǒng)中用來存儲待訂票客戶的一些基本信息,如以上定義,包括待訂票客戶的姓名待訂票客戶的身份證號待訂票客戶電話號碼待訂票客戶機票需求量以及用“WPassengerNode*next;”來指向下一個待訂票客戶節(jié)點。3./訂票客戶鏈表typedefstruct{。。。。。。}passengerLink;//已訂票客戶單鏈表(按ID有序)在該鏈表中,用“PassengerNode*passenger;”來指向訂票客戶,用“intlength;”來統(tǒng)計訂票的人數(shù)4.待訂票客戶的隊列typedefstruct{。。。。。。}WpassengerQueue;//侍訂票客戶鏈隊列在該隊列中,“WPassengerNode*front;”用來指向隊列中的第一個人,即為頭指針,“WPassengerNode*rear;”指向隊尾。4.航班節(jié)點(即每一個航班的結(jié)構(gòu)體)typedefstructflightnode//航班結(jié)點{。。。。。。}flightnode;//航班結(jié)點在該航班節(jié)點中,用來存儲每一個航班的信息,其中有終點站名稱航班編號飛機編號飛行周日飛機能載最大人數(shù)還余下多少張票等基本信息并用“flightnode*next;”來指向下一個航班節(jié)點,用“WpassengerQueuenpassenger;”來指向本次航班帶票客戶隊列,用“passengerLinkpassenger;”來指向本次航班已定票的客戶鏈表。5.航班順序表的定義typedefstruct{。。。。。。}SqFlight;//航班順序線性表此結(jié)構(gòu)體中用“flightnode*flight;”來指向系統(tǒng)中的所有航班的頭指針,用“intlength;”來統(tǒng)計航班的數(shù)量。(三)、函數(shù)功能描述1.ask_passenger()函數(shù)原型intask_passenger(flightnode*p,SqFlightLF)該函數(shù)用來完成顧客續(xù)票的操作2.back_ticket()函數(shù)原型intback_ticket(intnumber,SqFlight&LF)該函數(shù)用來完成為顧客辦理退票業(yè)務(wù)。3.book()函數(shù)原型intbook(intnumber,SqFlight&LF)該函數(shù)用來完成顧客的訂票業(yè)務(wù)4.GetElem()函數(shù)原型intGetElem(SqFlightLF,intnumber)該函數(shù)用來完成顧客查詢基本資料的一些操作5.InitFlightNode()函數(shù)原型intInitFlightNode(SqFlight&LF)該函數(shù)用來完成對航班順序表中的每一個航班進行賦值并將賦值后的航班連接到航班順序表中6.InitList_Sq()函數(shù)原型intInitList_Sq(SqFlight&LF)此函數(shù)用來構(gòu)造一個空的線性表LF飛機航班結(jié)點7.InitList_pa()函數(shù)原型intInitList_pa(passengerLink&PA)該函數(shù)用來為已訂票客戶鏈表建一個空鏈表8.InitList_WPQ()函數(shù)原型intInitList_WPQ(WpassengerQueue&WPQ)該函數(shù)用來為待票客戶建一個空的隊列9.lookup()函數(shù)原型intlookup(char*cityname,SqFlightLF)用來查找航班,形參指針cityname指向查詢時輸入的航線的首地址,引用航班順序線性表LF10.searchID()函數(shù)原型PassengerNode*searchID(flightnode*p,char*ID)p是指向某個航班結(jié)點的指,ID是要查詢的ID,該函數(shù)是通過ID號來查詢航班,,并返回已訂票顧客節(jié)點11.searchNUM()函數(shù)原型flightnode*searchNUM(intnumber,SqFlightLF)該函數(shù)通過number來按航班號查詢航班,并返回相關(guān)的航班節(jié)點12.system1()函數(shù)原型voidsystem1(SqFlightLF)該函數(shù)主要實現(xiàn)/顯示主菜單能實現(xiàn)的操作等并像用戶提供進行選擇的界面。13.wbook()函數(shù)原型intwbook(SqFlight&LF,flightnode*p)該函數(shù)是續(xù)票函數(shù)的補充,主要實現(xiàn)將待票客戶插入到待票隊列的隊尾14.main()函數(shù)原型voidmain()該函數(shù)先通過system("color0A");來實現(xiàn)改變背景和前景顏色的效果,繼而分別通過InitList_Sq(LF);InitFlightNode(LF);來完成對航班順序表的初始化。最后通過system1(LF);來進入顯示系統(tǒng)的主界面,以供用戶選擇。三、源程序(見附錄)四、程序?qū)崿F(xiàn)(一)源碼分析1.程序預(yù)處理2.主函數(shù)main()主函數(shù)實現(xiàn)功能主要是為進入系統(tǒng)做好準備,并完成航班的初始化,即對各個航班賦上初值。voidmain(){system("color0A");//改變背景和前景顏色system("modecon:cols=70lines=35");//調(diào)整顯示方框的大小SqFlightLF;InitList_Sq(LF);InitFlightNode(LF);system1(LF);printf("\n");}3管理系統(tǒng)的查詢功能該功能主要實在主函數(shù)初始化的前提下,調(diào)用lookup()函數(shù)來完成所有航班的查詢。另外也可以通過目的地,輸入目的地的大寫字母來調(diào)用lookup.()來完成。intlookup(char*cityname,SqFlightLF){//查詢系統(tǒng)//形參指針cityname指向查詢時輸入的航線的首地址//引用航班順序線性表LF。。。。。。}其操作實現(xiàn)的結(jié)果按如圖1所示。當輸入目的地的結(jié)果如圖2所示。查詢完以后,按任意鍵有可進入主界面圖1圖2(輸入目的地的準確查詢)4.顧客訂票的功能模塊。。。。。實現(xiàn)結(jié)果如圖3所示圖3(訂票成功)5.顧客退票的功能模塊在完成訂票后,如果要退票,顧客可在在主界面中選擇4進行退票,此時通過調(diào)用函數(shù)back_ticket()來完成,在此函數(shù)中,先通過sea

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論