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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16、是否打開(kāi)文件2 是否讀取文件2 是否查詢(xún)所有 是否顯示航班信息輸入航班號(hào)顯示航班信息確定訂票否輸入個(gè)人信息保存提示放棄結(jié)束4.5顯示模塊void display()流程圖顯示模塊打開(kāi)文件否 是讀取數(shù)據(jù) 有無(wú)數(shù)據(jù) 否 是顯示查詢(xún)方式全部查詢(xún)是 否輸入查詢(xún)信息顯示航班信息返回4.6退票系統(tǒng)void returnticket()流程圖開(kāi)始打開(kāi)文件1否讀取文件1 是否打開(kāi)文件2 是否讀取文件2 是否顯示信息輸入方式 是輸入方式及信息顯示航班信息密碼?否顯示個(gè)人信息提示密碼錯(cuò)誤確定退票結(jié)束第五章 測(cè)試結(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輸出目錄開(kāi)始第七章 總結(jié)一周的C語(yǔ)言課程設(shè)計(jì)即將結(jié)束,現(xiàn)在回想起來(lái)真是五味俱全,從開(kāi)始的懵懂無(wú)知到現(xiàn)在做出一本挺有厚度的資料,我不但實(shí)踐了課本的知識(shí),還制作出心算小程序,雖然很多人幫了我的忙,仍舊感覺(jué)自己對(duì)C語(yǔ)言有了深入的了解,還是有所成長(zhǎng),有所收獲,在實(shí)踐中,自己編程常會(huì)犯錯(cuò)誤,并總結(jié)一些克服缺點(diǎn)的方法。深刻體會(huì)到程序設(shè)計(jì)中最重要的一部分不是編寫(xiě)源程序,而是調(diào)試過(guò)程。只有經(jīng)過(guò)調(diào)試程序,我們才能掌握正確的語(yǔ)

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

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

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

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

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

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

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

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

26、x);printf(請(qǐng)輸入航班的票價(jià):n);scanf(%d,&tii.price);tii.num=0;void enter()int i; system( cls ); printf(請(qǐng)輸入航班的數(shù)目(0-%d)?:,N);scanf(%d,&n); /*要輸入的記錄個(gè)數(shù)*/printf(n請(qǐng)輸入數(shù)據(jù)nn);for(i=0;in;i+) printf(n請(qǐng)輸入第 %d 航班記錄.n,i+1); input(i); /*調(diào)用輸入函數(shù)*/ getchar(); menu();void printf_one(int i) /*顯示一個(gè)記錄的函數(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航班代號(hào) 起飛地點(diǎn) 降落地點(diǎn) 起飛時(shí)間 票價(jià) 最大乘客 已售票數(shù)n);for(i=0;in;i+)printf_one(i);printf(n);getchar();getchar();menu();void order() /*排序模塊(按平均成績(jī))*/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ā)的時(shí)間*/puts(n-);printf(nt航班代號(hào) 起飛地點(diǎn) 降落地點(diǎn) 起飛時(shí)間 票價(jià) 最大乘客 已售票數(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)用顯示一個(gè)記錄的函數(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); /*輸入要到達(dá)的地方*/puts(n-);printf(nt航班代號(hào)

30、 起飛地點(diǎn) 降落地點(diǎn) 起飛時(shí)間 票價(jià) 最大乘客 已售票數(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)用顯示一個(gè)記錄的函數(shù)*/puts(n-);getchar(); /*按任意健*/getchar(); menu1();void menu1()int n,w1; do system( cls

31、); /*清屏*/ puts(tttt 飛機(jī)售票操作!nn); puts(tt*MENU*nn); puts(tttt1.按照時(shí)間排序); puts(tttt2.按照時(shí)間查找航班); puts(tttt3.按照地點(diǎn)查找航班); puts(tttt4.返回主菜單); puts(nntt*n); printf(Choice your number(1-4): bb); scanf(%d,&n); if(n4) /*對(duì)選擇的數(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請(qǐng)輸入要訂票的起飛地點(diǎn):);scanf(%s,s.BePlace); /*輸入要到達(dá)的地方*/printf(nn請(qǐng)輸入要訂票的降落地點(diǎn):);scanf(

33、%s,s.EnPlace); printf(nn請(qǐng)輸入要訂票的起飛時(shí)間:);scanf(%s,s.data); /*輸入出發(fā)的時(shí)間*/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(歡迎進(jìn)入退票窗口!n);printf(nn輸入航班代號(hào):);scanf(%s,s.ID); /*輸

34、入要到達(dá)的地方*/ for(i=0;in;i+) /*查找要修改的數(shù)據(jù)*/if(strcmp(s.ID,tii.ID)=0)k=i; /*找到要修改的記錄*/printf_one(k);break; /*調(diào)用顯示一個(gè)記錄的函數(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) /*以輸出打開(kāi)方式,在此前的記錄被覆蓋*/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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論