C語言飛機訂票系統(tǒng)課程設(shè)計_第1頁
C語言飛機訂票系統(tǒng)課程設(shè)計_第2頁
C語言飛機訂票系統(tǒng)課程設(shè)計_第3頁
C語言飛機訂票系統(tǒng)課程設(shè)計_第4頁
C語言飛機訂票系統(tǒng)課程設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課 程 設(shè) 計 報 告課程名稱 C語言課程設(shè)計 課題名稱 飛機訂票系統(tǒng) 前 言C語言程序設(shè)計課程設(shè)計是對學(xué)生的一種全面綜合訓(xùn)練,它包括問題分析,總體結(jié)構(gòu)設(shè)計,用戶界面設(shè)計,程序設(shè)計基本技能和技巧,多人合作,以至一整套軟件工作規(guī)范的訓(xùn)練和科學(xué)作風(fēng)的培養(yǎng)。是與課堂聽講、自學(xué)和練習(xí)相輔相成的必不可少的一個教學(xué)環(huán)節(jié)。通常,課程設(shè)計的課題比平時的習(xí)題復(fù)雜得多,也更接近實際。課程設(shè)計著眼于與應(yīng)用的結(jié)合點,使學(xué)生學(xué)會如何把書上學(xué)到的知識用于解決實際問題,培養(yǎng)軟件工作所需要的動手能力;另一方面,能使書上的知識變“活”,使學(xué)生更好地深化理解和靈活掌握教學(xué)內(nèi)容。為了達到上述目的,本課程設(shè)計安排了八個設(shè)計課題,訓(xùn)

2、練重點在于基本的程序設(shè)計方法和分析問題的能力,而不強調(diào)面面俱到。學(xué)生可任選其中一題進行設(shè)計,設(shè)計完畢寫出課程設(shè)計報告,用A4紙打印成冊;并將課程設(shè)計報告與源程序存盤。學(xué)習(xí)委員將課程設(shè)計報告與磁盤收齊后交指導(dǎo)老師。一、目的全面熟悉、掌握C語言基本知識,掌握C程序設(shè)計中的順序、分支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)和C語言基本圖形編程等方法,把編程和實際結(jié)合起來,增強對不同的問題運用和靈活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及算法描述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進一步提高上機動手能力,培養(yǎng)使用計算機解決實際問題的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范編程的思想,為以后在專業(yè)課程中應(yīng)用計算機系

3、統(tǒng)解決計算、分析、實驗和設(shè)計等學(xué)習(xí)環(huán)節(jié)打下較扎實的基礎(chǔ)。二、設(shè)計要求掌握結(jié)構(gòu)化程序設(shè)計的主體思想,以自頂向下逐步求精的方法編制程序解決一些實際的問題,為將來編寫軟件積累一些典型的案例處理經(jīng)驗。1. 設(shè)計正確,方案合理。2. 界面友好,使用方便。3. 程序精煉,結(jié)構(gòu)清晰。4. 設(shè)計報告5000字以上,含程序設(shè)計說明,用戶使用說明,源程序清單及程序框圖。5. 上機演示。6. 按學(xué)號順序選課題號,并在規(guī)定的時間內(nèi)獨自完成相關(guān)課題的C源程序編寫、調(diào)整和運行。源程序及編譯生成各文件均保存在軟盤中;7. 務(wù)書的要求,按附錄的要求編寫課程設(shè)計報告(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂; 7. 在2

4、011年1月10日之前,請各班學(xué)習(xí)委員收齊課程設(shè)計報告和源程序軟盤交王穎老師 ,聯(lián)系電話:。三、進度安排第二周 星期四: 課題講解,查閱資料第三周星期一: 總體設(shè)計,詳細(xì)設(shè)計星期二: 編程,上機調(diào)試、修改程序星期三: 上機調(diào)試、完善程序星期四: 完善程序星期五: 答辯星期六-星期天:撰寫課程設(shè)計報告課程設(shè)計報告規(guī)范一、 需求析分1、程序的功能。2、輸入輸出的要求。二、概要設(shè)計1、程序由哪些模塊組成以及一個模塊之間的層次結(jié)構(gòu)、模塊的調(diào)用關(guān)系;每個模塊的功能。2、課題的總體數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫結(jié)構(gòu);即要存儲什么數(shù)據(jù),這些數(shù)據(jù)是什么樣的結(jié)構(gòu),它們之間有什么關(guān)系等。三、詳細(xì)設(shè)計1、采用C語言定義相關(guān)的數(shù)據(jù)

5、類型。2、寫出各模塊的類C碼算法。3、畫出函數(shù)的調(diào)用關(guān)系圖。四、調(diào)試分析以及設(shè)計體會1、測試數(shù)據(jù):準(zhǔn)備典型的測試數(shù)據(jù)和測試方案,包括正確的輸入及輸出結(jié)果和含有錯誤的輸入及輸出結(jié)果。2、程序調(diào)試中遇到的問題以及解決問題的方法。3、課程設(shè)計過程經(jīng)驗教訓(xùn)、心得體會。五、使用說明用戶使用手冊:說明如何使用你編寫的程序,詳細(xì)列出每一步的操作步驟。六、 附錄1、參考書目2、源程序清單(帶注釋)附1:l 課程設(shè)計報告裝訂順序:封面、任務(wù)書、目錄、正文、評分、附件(A4大小的圖紙及程序清單)。 l 正文的格式:一級標(biāo)題用3號黑體,二級標(biāo)題用四號宋體加粗,正文用小四號宋體;行距為22。l 正文的內(nèi)容:一、課題的

6、主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實現(xiàn)(至少要有一個主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、附件(所有程序的原代碼,要求對程序?qū)懗霰匾淖⑨專?。l 正文總字?jǐn)?shù)要求在5000字以上(不含程序原代碼)。目錄一、緒論11.1項目背景描述11.2問題定義.11.3思考1二、需求分析22.1 問題描述:62.2 功能描述:72.3 算法提示:72.4、測試數(shù)據(jù):72.5其它:7第三章 總體設(shè)計73.1 課程設(shè)計題目:73.2. 內(nèi)容摘要:83.3. 關(guān)鍵字:83.4總體設(shè)計方案的選定:8四、詳細(xì)設(shè)計54.1采用C語言定義相關(guān)的數(shù)據(jù)類型.54.2 寫出各模塊的類C

7、碼算法.54.3機票信息錄入void inputinfo()流程圖74.4訂票系統(tǒng)void bookticket()流程圖84.5顯示模塊void display()流程圖94.6退票系統(tǒng)void returnticket()流程圖10五、測試.10六、使用說明115.1主界面115.2機票信息管理(保存)125.3訂票系統(tǒng)使用155.4退票系統(tǒng)17七、課程設(shè)計總結(jié)196.1課程設(shè)計心得:196.2在程序設(shè)計中的問題和解決:19附錄20源程序清單(帶注釋)201.機票信息錄入(帶注釋):203.源程序清單:(附)31參考文獻75第一章 緒論1.1:項目背景描述1、課程設(shè)計性質(zhì)與目的: C語言程

8、序設(shè)計是一門實踐性很強的課程。C程序課程設(shè)計是學(xué)習(xí)C語言程序設(shè)計的非常重要的實踐環(huán)節(jié),通過本課程設(shè)計使學(xué)生進一步鞏固課堂所學(xué),全面熟悉,掌握C語言程序設(shè)計的基本方法和技巧,進一步提高編寫程序、分析程序及上機操作、調(diào)試程序的能力,讓學(xué)生加深理解書上所學(xué)的知識,提高動手操作能力及分析問題和解決問題的能力。2、課程設(shè)計包含的知識點:1掌握并熟練利用C語言的基本數(shù)據(jù)類型與各種表達式,程序的流程控制語句。2掌握數(shù)組的基本概念。掌握一維數(shù)組與二維數(shù)組的使用,掌握字符數(shù)組與字符串的關(guān)系。3熟練掌握指針、地址、指針類型的概念及其使用。掌握指針變量的定義與初始化、指針的間接訪問和表達式,掌握指針與數(shù)組、函數(shù)、字

9、符串的聯(lián)系4掌握函數(shù)的定義,函數(shù)的返回值,函數(shù)的調(diào)用,函數(shù)的聲明,函數(shù)的形式參數(shù)和實際參數(shù)之間的關(guān)系,了解函數(shù)的作用區(qū)間。5掌握結(jié)構(gòu)體的概念,結(jié)構(gòu)體類型的定義,結(jié)構(gòu)體變量的定義和初始化,結(jié)構(gòu)體成員的表示。結(jié)構(gòu)體與指針、函數(shù)的關(guān)系。1.2:問題的定義假設(shè)某航空公司只有M架N個座位的飛機,每架飛機每天飛行一趟。通過該系統(tǒng)來實現(xiàn)機票的訂購問題。第二章 需求分析一、問題描述:假設(shè)某航空公司只有M架N個座位的飛機,每架飛機每天飛行一趟。通過該系統(tǒng)來實現(xiàn)機票的訂購問題。二、功能要求:1、本系統(tǒng)采用一個包含N個數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:起飛地、目的地 航班號、座次號碼、座次訂出與否標(biāo)記、訂座

10、者的姓名和訂座者的身份證號碼。2、本系統(tǒng)顯示這樣的菜單:(1) 輸入航班信息(2) 輸出航班信息(3) 查找航班信息a.顯示空座的數(shù)量b.顯示空座的信息c.顯示已訂座的信息d.起飛時間(4)訂票預(yù)約(5)刪除定票預(yù)約(6)退出系統(tǒng)1、 本系統(tǒng)成功執(zhí)行菜單的每個信息,選項4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。2、 查找航班信息既可按線路查,也可按目的地查。4、在兩次運行之間,數(shù)據(jù)被保存于一個文件里,當(dāng)本程序重新開始的時候,它首先從該文件讀入數(shù)據(jù)三、算法提示:1、數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組2、數(shù)據(jù)庫結(jié)構(gòu):下表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫。 航班號起飛時間目的地座次號座次訂出與否的標(biāo)記訂

11、票者姓名訂票者身份證號碼intcharcharintCharcharchar四、測試數(shù)據(jù):每架飛機的座位N=12,M=5 五、其它:對該系統(tǒng)有興趣的同學(xué)可以在實現(xiàn)系統(tǒng)基本功能后,完善系統(tǒng)的其它功能。第三章 總體設(shè)計課程設(shè)計主文檔3.1 課程設(shè)計題目:飛機訂票系統(tǒng)3.2. 內(nèi)容摘要:假設(shè)某航空公司只有M架N個座位的飛機,每架飛機每天飛行一趟。通過該系統(tǒng)來實現(xiàn)機票的訂購問題。3.3. 關(guān)鍵字:函數(shù) 數(shù)組 結(jié)構(gòu)體 文件 循環(huán)語句 多分支結(jié)構(gòu)3.4總體設(shè)計方案的選定:程序的功能要求:1、本系統(tǒng)采用一個包含N個數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:起飛地、目的地 航班號、座次號碼、座次訂出與否標(biāo)記、

12、訂座者的姓名和訂座者的身份證號碼。2、本系統(tǒng)顯示這樣的菜單:(4) 輸入航班信息(5) 輸出航班信息(6) 查找航班信息a.顯示空座的數(shù)量b.顯示空座的信息c.顯示已訂座的信息d.起飛時間(4)訂票預(yù)約(5)刪除定票預(yù)約(6)退出系統(tǒng)3、 本系統(tǒng)成功執(zhí)行菜單的每個信息,選項4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。4、 查找航班信息既可按線路查,也可按目的地查。4、在兩次運行之間,數(shù)據(jù)被保存于一個文件里,當(dāng)本程序重新開始的時候,它首先從該文件讀入數(shù)據(jù) 第四章 詳細(xì)設(shè)計4.1采用C語言定義相關(guān)的數(shù)據(jù)類型 struct travellerinfo/旅客信息結(jié)構(gòu)char fightn

13、um 10;/航班號char name 10; /姓名char sex 5; /性別char idnum 20;/證件號碼char znum 12;/座次號碼char flage 2;/座次定出與否標(biāo)記char poto 12; /聯(lián)系電話;struct fightinfo/機票信息結(jié)構(gòu)體char fightnum 10;/航班號char start 8;/出發(fā)地char destination 8;/目的地unsigned int price;/價格unsigned int goyear;/出發(fā)時間 年unsigned int gomoth;/月unsigned int goday;/日un

14、signed int gohour;/時unsigned int gominute;/分unsigned int arryear;/到達時間 年unsigned int arrmoth;/月unsigned int arrday;/日unsigned int arrhour;/時unsigned int arrminute;/分unsigned int allsticket;/總票數(shù)unsigned int surplusticket;/剩余票數(shù);struct allfightinfo /機票全部結(jié)構(gòu)struct travellerinfo fight;/旅客信息結(jié)構(gòu)struct fighti

15、nfo fight1;/機票信息結(jié)構(gòu)體;4.2 寫出各模塊的類C碼算法4.2系統(tǒng)總體結(jié)構(gòu) 訂票輸入航班號查詢所有航班輸入旅客信息 全部顯示 航班號 出發(fā)地飛機訂票系統(tǒng) 目的地姓名 退票查詢所有航班退證件號航班信息和旅客信息輸入航班號密碼查詢 機票信息錄入 查詢所有機票保存 修改機票刪除機票信息4.3機票信息錄入void inputinfo()流程圖打開文件讀取數(shù)據(jù)輸入航班號輸入出發(fā)信息 無效重新輸入 無效重新輸入輸入到達信息 折扣 無效重新輸入 寫入文件是否輸入下一個信息結(jié)束4.4訂票系統(tǒng)void bookticket()流程圖在有航班信息的情況下可以進行訂票操作。開始打開文件1否讀取文件1

16、是否打開文件2 是否讀取文件2 是否查詢所有 是否顯示航班信息輸入航班號顯示航班信息確定訂票否輸入個人信息保存提示放棄結(jié)束4.5顯示模塊void display()流程圖顯示模塊打開文件否 是讀取數(shù)據(jù) 有無數(shù)據(jù) 否 是顯示查詢方式全部查詢是 否輸入查詢信息顯示航班信息返回4.6退票系統(tǒng)void returnticket()流程圖開始打開文件1否讀取文件1 是否打開文件2 是否讀取文件2 是否顯示信息輸入方式 是輸入方式及信息顯示航班信息密碼?否顯示個人信息提示密碼錯誤確定退票結(jié)束第五章 測試結(jié)束(1)menu()函數(shù)NYYY退出n=8NYw1=1w1=0輸入新航班瀏覽航班操作訂票退票保存載入清

17、屏(cls)int n,w1NYn=3n=7n=5n=6n=4n=2n=1輸出n(1-8)NYYYWhile(w=1)YYYYYYYYYYYYYYNYNYNYNYNYNYYYif n8輸出n輸出目錄開始第七章 總結(jié)一周的C語言課程設(shè)計即將結(jié)束,現(xiàn)在回想起來真是五味俱全,從開始的懵懂無知到現(xiàn)在做出一本挺有厚度的資料,我不但實踐了課本的知識,還制作出心算小程序,雖然很多人幫了我的忙,仍舊感覺自己對C語言有了深入的了解,還是有所成長,有所收獲,在實踐中,自己編程常會犯錯誤,并總結(jié)一些克服缺點的方法。深刻體會到程序設(shè)計中最重要的一部分不是編寫源程序,而是調(diào)試過程。只有經(jīng)過調(diào)試程序,我們才能掌握正確的語

18、法知識及把問題的解決方法用程序語言來表達。 其實這一周遇到了不少的挫折,第一次上機就有些不知所措,到底該從何下手呢?后來有朋友同學(xué)的鼓勵,慢慢調(diào)整心態(tài),開始動手操作,原來編程很有意思,有時遇到了一個錯誤怎么找也找不到原因所在,找了老半天結(jié)果卻是一個函數(shù)放錯了地方所致,有時一個功能不知道怎么實現(xiàn)找這個、找那個。有所編到最后一運行卻告訴我錯誤,那真的很讓人惱火。以前上課都是學(xué)一些最基本的東西,覺得很枯燥,而現(xiàn)在卻可以將以前學(xué)的東西編出有實際價值的東西,這樣自己非常的投入,其實什么事情只要自己用心了,就會有所感觸,有所收獲。真的覺得有味道,生活都變充實了。此次程序設(shè)計主要用了函數(shù)的調(diào)用,if、els

19、e選擇語句,switch語句,時間函數(shù),標(biāo)準(zhǔn)輸入輸出、隨機取整函數(shù)等基本知識點,結(jié)合課本知識加上自己的應(yīng)用結(jié)果頗為令人滿意 ,但是還有很多的缺陷與不足,這是我可以清醒認(rèn)識到的。C語言是一項細(xì)致深入的工作,不僅要有嚴(yán)謹(jǐn)?shù)乃悸?,還要在實踐中有耐心,要細(xì)心,如果無法沉著冷靜,真的會看不到結(jié)果,毫無收獲的 。 C語言又是一種系統(tǒng)開發(fā)語言。這一個學(xué)期對C語言的接觸讓我明白了自己的不足之處,對書上內(nèi)容的理解不夠透徹。 這一周的課程設(shè)計讓我們有機會上機調(diào)試,我才發(fā)現(xiàn)我們的程序存在這么多的漏洞和錯誤。我經(jīng)過了一個下午的時間,在老師的指導(dǎo)下,檢查調(diào)試這程序,終于讓它能夠運行了。但是課程設(shè)計并不是那么的簡單,能運

20、行的程序并不代表就是對的,我們還要按要求測試數(shù)據(jù),一點一滴的把程序按要求做出來。 通過這次的課程設(shè)計,我受益匪淺。它讓我了解了細(xì)心的重要性,程序中若有一絲一點的錯誤就會影響整個程序,而使其不能運行。當(dāng)我第一次拿到課程設(shè)計的任務(wù)書的時候,我都非常的興奮,因為這是我們一次很好的鍛煉機會。我經(jīng)過一周的C語言課程設(shè)計,我不但實踐了課本的所學(xué)的知識,還親自制作了自己的小程序,感覺自己對C語言有了更深入的了解。在實踐過程中,自己編程的時候常常會犯錯誤,并總結(jié)了一些克服缺點的方法。而且更深刻體會到程序設(shè)計中最重要的一部分不是編寫源程序,而是調(diào)試過程。只有經(jīng)過調(diào)試程序,我們才能掌握正確的語法知識及把問題的解決

21、方法用程序語言來表達。在設(shè)計程序的同時也增長了翻閱有關(guān)文獻的能力,加強了實踐能力及自學(xué)能力,培養(yǎng)了分析問題 、編程和動手能力,掌握了程序設(shè)計基本技能。在調(diào)試過程中,特別讓我印象深刻的是自己開始在程序調(diào)試的時候,開始并沒有并沒有看到預(yù)期的結(jié)果,最后我仔細(xì)檢查了源程序代碼,發(fā)現(xiàn)自己在申明函數(shù)的時候,出現(xiàn)了一個嚴(yán)重的語法問題,導(dǎo)致我整個程序都不能運行。我開始心理發(fā)慌起來,我開始放棄自己的先前做的 工作,覺得自己是第一次做設(shè)計,第一次看到這么長的程序代碼,有理由放棄,但是,想著自己很辛苦的寫了這么久,還是不想放棄,我開始慢慢去找我出的問題,我從頭到尾檢查了一面,終于發(fā)現(xiàn)了問題之所在,我的心情頓時高興起

22、來,終于看到了希望!我越來越興奮,我從新把源程序放入WIN-TC中進行調(diào)試,終于是 “柳岸花明又一村”。同時也讓我真正體會到一句話:“勝利永遠(yuǎn)是屬于永不放棄的人!”當(dāng)然在本次課程設(shè)計的過程中遇到不止上面那一個困難,也有很多困難被我解決了。比如,有一個操作上的功能錯誤。我怎么找也找不到原因所在,找了老半天結(jié)果卻是操作錯誤把一個函數(shù)放錯了地方所致。有的時候一個功能不知道怎么實現(xiàn)找這個、找那個源代碼都不行。當(dāng)編譯到最后一行運行卻告訴我錯誤,那真的很煩人。以前上課都是學(xué)一些最基本的東西,覺得很枯燥,而現(xiàn)在卻可以將以前學(xué)的東西編出有實際價值的東西,這樣自己非常的投入,有時候一編就是二三個小時坐在電腦前面

23、,有時候連吃飯都忘了。但現(xiàn)在回過頭來看,還是挺有成就感的。通過本次課程設(shè)計的學(xué)習(xí),我體會到學(xué)好計算機一定要重視實踐環(huán)節(jié),不僅是在學(xué)習(xí)C語言, 還是其他計算機語言都是一樣的重要。所以我以后在學(xué)習(xí)過程中更加重視實踐環(huán)節(jié)的重要性。這樣我相信自己的計算機水平一定會取得更好的進步!我總結(jié)了一下本次程序課程設(shè)計主要用了函數(shù)的調(diào)用,if、else選擇語句,switch語句,時間函數(shù),標(biāo)準(zhǔn)輸入輸出、隨機取整函數(shù)等基本知識點,結(jié)合課本知識加上自己的應(yīng)用最終取得圓滿成功。C語言是一項細(xì)致深入的工作,不僅要有嚴(yán)謹(jǐn)?shù)乃悸?,還要在實踐中有耐心,要細(xì)心。這一點我親身體會到了!以下是課程設(shè)計中的錯誤總結(jié)和分析:變量是程序中

24、不可缺少的一部分,要謹(jǐn)記先定義后使用。輸入輸出類型要一致?!埃弧笔荂語言的語句結(jié)束語,不可省略。的互相匹配。調(diào)用函數(shù)必先聲明。形式參數(shù)和實際參數(shù)必須個數(shù)相等,類型相同。最后,感謝在C語言學(xué)習(xí)及課程設(shè)計中對我指導(dǎo)的老師和同學(xué)!附1: 源代碼#include #include #include #define N 1000typedef struct plane char ID10; /*航班代號*/ char BePlace10;/*飛機起飛地點*/ char EnPlace10;/*飛機降落終點*/ char data15;/*飛機起飛時間*/ int max;/*飛機最大乘客人數(shù)*/ int

25、 price;/*飛機票價*/ int num;/*飛機已售票數(shù)*/PLANE;PLANE tiN;int n;/*當(dāng)前的航班數(shù)目*/void menu();void menu1();void input(int i)printf(請輸入航班代號:n);scanf(%s,tii.ID);printf(請輸入起飛地點:n);scanf(%s,tii.BePlace);printf(請輸入降落地點:n);scanf(%s,tii.EnPlace);printf(請輸入起飛時間:n);scanf(%s,tii.data);printf(請輸入航班的最大載客人數(shù):n);scanf(%d,&tii.ma

26、x);printf(請輸入航班的票價:n);scanf(%d,&tii.price);tii.num=0;void enter()int i; system( cls ); printf(請輸入航班的數(shù)目(0-%d)?:,N);scanf(%d,&n); /*要輸入的記錄個數(shù)*/printf(n請輸入數(shù)據(jù)nn);for(i=0;in;i+) printf(n請輸入第 %d 航班記錄.n,i+1); input(i); /*調(diào)用輸入函數(shù)*/ getchar(); menu();void printf_one(int i) /*顯示一個記錄的函數(shù)*/printf(%11s %6s %10s %6s

27、 %6d %6d %6d,tii.ID,tii.BePlace,tii.EnPlace,tii.data,tii.price,tii.max,tii.num);void browse()int i;system( cls ); puts(n-);printf(nt航班代號 起飛地點 降落地點 起飛時間 票價 最大乘客 已售票數(shù)n);for(i=0;in;i+)printf_one(i);printf(n);getchar();getchar();menu();void order() /*排序模塊(按平均成績)*/int i,j;struct plane s;system( cls ); fo

28、r(i=0;in;i+) /*冒泡法排序*/for(j=i+1;j0)s=tii; tii=tij;tij=s; browse();void search_time()int i,m=0;struct plane s;system( cls ); printf(nnEnter the time:);scanf(%s,s.data); /*輸入出發(fā)的時間*/puts(n-);printf(nt航班代號 起飛地點 降落地點 起飛時間 票價 最大乘客 已售票數(shù)n);for(i=0;in;i+)if(strcmp(s.data,tii.data)=0)m+; if(m!=0)&(m%10=0) /*目

29、的是分屏顯示*/ printf(nnPress any key to contiune . . .);getchar();puts(nn); printf_one(i); printf(n);/*調(diào)用顯示一個記錄的函數(shù)*/puts(n-);getchar(); /*按任意健*/getchar(); menu1();void serch_end()int i,m=0;struct plane s;system( cls ); printf(nnEnter the end Place:);scanf(%s,s.EnPlace); /*輸入要到達的地方*/puts(n-);printf(nt航班代號

30、 起飛地點 降落地點 起飛時間 票價 最大乘客 已售票數(shù)n);for(i=0;in;i+)if(strcmp(tii.EnPlace,s.EnPlace)=0)m+; if(m!=0)&(m%10=0) /*目的是分屏顯示*/ printf(nnPress any key to contiune . . .);getchar();puts(nn); printf_one(i); printf(n);/*調(diào)用顯示一個記錄的函數(shù)*/puts(n-);getchar(); /*按任意健*/getchar(); menu1();void menu1()int n,w1; do system( cls

31、); /*清屏*/ puts(tttt 飛機售票操作!nn); puts(tt*MENU*nn); puts(tttt1.按照時間排序); puts(tttt2.按照時間查找航班); puts(tttt3.按照地點查找航班); puts(tttt4.返回主菜單); puts(nntt*n); printf(Choice your number(1-4): bb); scanf(%d,&n); if(n4) /*對選擇的數(shù)字作判斷*/ w1=1; printf(your choice is not between 1 and 4,Please input again:); getchar();

32、getchar(); else w1=0; while(w1=1); /*選擇功能*/ switch(n) case 1:order();break; case 2:search_time();break; case 3:serch_end();break; case 4:menu();break; int search() /*查找模塊*/int i,k;struct plane s;k=-1;system( cls ); printf(nn請輸入要訂票的起飛地點:);scanf(%s,s.BePlace); /*輸入要到達的地方*/printf(nn請輸入要訂票的降落地點:);scanf(

33、%s,s.EnPlace); printf(nn請輸入要訂票的起飛時間:);scanf(%s,s.data); /*輸入出發(fā)的時間*/for(i=0;i=tii.max)printf(n該趟航班票已售完!); elsetii.num+;printf(n訂票成功!n);elseprintf(該航班不存在!n);getchar(); getchar(); /*按任意健*/menu();void back()int i,k=-1;struct plane s;system( cls ); printf(歡迎進入退票窗口!n);printf(nn輸入航班代號:);scanf(%s,s.ID); /*輸

34、入要到達的地方*/ for(i=0;in;i+) /*查找要修改的數(shù)據(jù)*/if(strcmp(s.ID,tii.ID)=0)k=i; /*找到要修改的記錄*/printf_one(k);break; /*調(diào)用顯示一個記錄的函數(shù)*/if(k=-1) printf(nnNO exist!);else tii.num-; printf(n退票成功!n);getchar(); /*按任意健*/getchar(); /*按任意健*/menu();void save()int w=1;FILE *fp;int i;system( cls ); if(fp=fopen(ticket.txt,wt)=NULL) /*以輸出打開方式,在此前的記錄被覆蓋*/printf(nCannot open filen);return ; for(i=0;in;i+)if(fwrite(&tii,sizeof(struct plane),1,fp)!=1) printf(file write errorn);w=0;if(w=1) printf(file save ok!n);fclose(fp);getchar();getchar(); menu();void load()FILE*fp;int i,w;w=1;system( cls ); if(fp=fopen

溫馨提示

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

評論

0/150

提交評論