版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程名稱 C語(yǔ)言課程設(shè)計(jì) </p><p> 課題名稱 飛機(jī)訂票系統(tǒng) </p><p> 專 業(yè) 電子信息工程 </p><p> 班 級(jí) 0981
2、 </p><p> 學(xué) 號(hào) 200913020127 </p><p> 姓 名 肖雙喜 </p><p> 指導(dǎo)教師 黃哲 陳多 </p><p> 2010年6月25日</p><p&
3、gt;<b> 湖南工程學(xué)院</b></p><p> 課 程 設(shè) 計(jì) 任 務(wù) 書(shū)</p><p> 課程名稱 C程序設(shè)計(jì) </p><p> 課 題 飛機(jī)訂票系統(tǒng) </p><p> 專業(yè)班級(jí) 電子信息工程0981 </p><p>
4、 學(xué)生姓名 肖雙喜 </p><p> 學(xué) 號(hào) 200913020127 </p><p> 指導(dǎo)老師 黃哲 田媛 陳多 </p><p> 審 批 </p><p&
5、gt; 任務(wù)書(shū)下達(dá)日期 2010年6 月 25日</p><p> 任務(wù)完成日期 2010年 7 月 10日</p><p> 一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求</p><p><b> 1.設(shè)計(jì)內(nèi)容:</b></p><p><b> 見(jiàn)附錄</b></p><p&
6、gt;<b> 2.設(shè)計(jì)要求:</b></p><p> 1).設(shè)計(jì)正確,方案合理。</p><p> 2).界面友好,使用方便。</p><p> 3).程序精煉,結(jié)構(gòu)清晰。</p><p> 4).設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說(shuō)明,用戶使用說(shuō)明,源程序清單及程序框圖。</p><p
7、><b> 5).上機(jī)演示。</b></p><p><b> 二、進(jìn)度安排</b></p><p> 第一周 星期五: 課題分配,查閱資料</p><p> 第二周 星期日: 總體設(shè)計(jì),詳細(xì)設(shè)計(jì)</p><p> 星期二: 編程,上機(jī)調(diào)試、修改程序</p>
8、<p> 星期四: 編程,上機(jī)調(diào)試、修改程序</p><p> 星期五: 答辯撰寫(xiě)課程設(shè)計(jì)報(bào)告</p><p><b> 附:</b></p><p> 課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書(shū)、目錄、正文、評(píng)分、附件(A4大小的圖紙及程序清單)。 </p><p> 正文的格式:一級(jí)標(biāo)題用3號(hào)黑體,
9、二級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體;行距為22。</p><p> 正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫(huà)出模塊圖);三、主要功能的實(shí)現(xiàn)(至少要有一個(gè)主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、附件(所有程序的原代碼,要求對(duì)程序?qū)懗霰匾淖⑨專?lt;/p><p> 正文總字?jǐn)?shù)要求在5000字以上(不含程序原代碼)。</p><p&
10、gt; 設(shè)計(jì)課題四:飛機(jī)訂票系統(tǒng)</p><p><b> 一、問(wèn)題描述:</b></p><p> 本系統(tǒng)可以用來(lái)實(shí)現(xiàn)對(duì)訂票信息進(jìn)行輸出,顯示,退票,查詢,保存等,并保存文件中,以達(dá)到對(duì)飛機(jī)訂票信息進(jìn)行隨時(shí)的訂票,查詢何退票的操作管理系統(tǒng).</p><p><b> 二、功能描述:</b></p>
11、<p> 本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:航班號(hào),出發(fā)地,目的地,價(jià)格,等信息,。</p><p><b> 完成以下模塊:</b></p><p><b> 1.訂票</b></p><p><b> 2.顯示</b></p><
12、p><b> 3.退票</b></p><p><b> 4.查詢</b></p><p><b> 5.保存</b></p><p><b> 6.退出系統(tǒng)</b></p><p><b> 測(cè)試</b></p
13、><p><b> 四、其它:</b></p><p> 對(duì)該系統(tǒng)有興趣的同學(xué)可以在實(shí)現(xiàn)系統(tǒng)基本功能后,完善系統(tǒng)的其它功能。</p><p><b> 目錄</b></p><p><b> 一、功能簡(jiǎn)介1</b></p><p> 1.1主要功
14、能介紹1</p><p> 2.1輸入輸出的要求1</p><p><b> 二、概要設(shè)計(jì)2</b></p><p> 2.1程序的模塊2</p><p><b> 2.2結(jié)構(gòu)體2</b></p><p> 2.3文件的定義3</p>&l
15、t;p><b> 三、 測(cè)試數(shù)據(jù)4</b></p><p> 3.1機(jī)票信息文件4</p><p> 3.2旅客信息信息登記4</p><p><b> 四、詳細(xì)設(shè)計(jì)5</b></p><p> 4.1系統(tǒng)總體結(jié)構(gòu)5</p><p> 4.2密碼模
16、塊函數(shù) void checkcode()6</p><p> 4.3機(jī)票信息錄入void inputinfo()流程圖7</p><p> 4.4訂票系統(tǒng)void bookticket()流程圖8</p><p> 4.5顯示模塊void display()流程圖9</p><p> 4.6退票系統(tǒng)void returntic
17、ket()流程圖10</p><p><b> 五、使用說(shuō)明11</b></p><p><b> 5.1主界面11</b></p><p> 5.2機(jī)票信息管理(保存)12</p><p> 5.3訂票系統(tǒng)使用15</p><p> 5.4退票系統(tǒng)17
18、</p><p> 六、課程設(shè)計(jì)總結(jié)19</p><p> 6.1課程設(shè)計(jì)心得:19</p><p> 6.2在程序設(shè)計(jì)中的問(wèn)題和解決:19</p><p><b> 附錄20</b></p><p> 源程序清單(帶注釋)20</p><p> 1.
19、機(jī)票信息錄入(帶注釋):20</p><p> 3.源程序清單:(附)31</p><p><b> 參考文獻(xiàn)75</b></p><p> 計(jì)算機(jī)與通信學(xué)院課程設(shè)計(jì)評(píng)分表76</p><p><b> 一、功能簡(jiǎn)介</b></p><p><b>
20、 1.1主要功能介紹</b></p><p> 本程序能輸入最多1000個(gè)機(jī)票信息,管理員在保存功能中通過(guò)密碼驗(yàn)證輸入機(jī)票信息,可以對(duì)機(jī)票信息進(jìn)行查詢;修改;刪除等功能。一般用戶可以使用訂票;顯示;退票等功能,在訂票時(shí)用戶輸入密碼在退票時(shí)通過(guò)驗(yàn)證后成功退票。</p><p><b> 具體功能如下:</b></p><p>
21、 1 、保存模塊: 1 機(jī)票信息錄入 2查詢所有機(jī)票</p><p> 3修改機(jī)票信息 4刪除機(jī)票信息</p><p> 有機(jī)票信息的管理,對(duì)機(jī)票信息輸入,查詢,修改,刪除。</p><p> 2、訂票模塊:當(dāng)有機(jī)票信息后可以訂票,訂票時(shí)輸入航班號(hào)(進(jìn)入時(shí)有可以查詢所有機(jī)票信息)出現(xiàn)航班信息,確定訂票后輸入個(gè)人信息
22、:姓名,性別,證件號(hào),聯(lián)系電話,密碼(退票時(shí)用)。出現(xiàn)您的個(gè)人信息,確定后回車訂票結(jié)束。</p><p> 3顯示模塊: 1全部 2航班號(hào) 3出發(fā)地 4目的地</p><p> 按上述方式查看機(jī)票信息</p><p> 4退票模塊:(可以選擇查看航班信息) 1姓名 2證件號(hào)</p><p>
23、 當(dāng)輸入姓名或證件號(hào)后會(huì)顯示您定的航班信息,再要求輸入密碼,當(dāng)密碼正確時(shí)會(huì)顯示您的個(gè)人信息,回車再是否確定退票。</p><p> 5 查詢模塊:(輸入管理密碼)輸入航班號(hào),顯示航班信息 和所有乘客個(gè)人信息</p><p> 2.1輸入輸出的要求</p><p> 當(dāng)要輸入密碼時(shí)一般為1234,在界面中無(wú)提示時(shí)當(dāng)要繼續(xù)請(qǐng)按回車,其他的請(qǐng)按提示操作,由于時(shí)間
24、和能力的關(guān)系沒(méi)有考慮到意外情況請(qǐng)按提示操作。</p><p><b> 二、概要設(shè)計(jì)</b></p><p><b> 2.1程序的模塊</b></p><p> 1、 保存模塊:含有機(jī)票信息的管理,對(duì)機(jī)票信息輸入,查詢,修改,刪除。</p><p> 2、訂票模塊:當(dāng)有機(jī)票信息后可以訂票,
25、訂票時(shí)輸入航班號(hào)(進(jìn)入時(shí)有可以查詢所有機(jī)票信息)出現(xiàn)航班信息,確定訂票后輸入個(gè)人信息:姓名,性別,證件號(hào),聯(lián)系電話,密碼(退票時(shí)用)。出現(xiàn)您的個(gè)人信息,確定后回車訂票結(jié)束。</p><p> 3、顯示模塊:含全部;航班號(hào);出發(fā)地;目的地等方式查詢所有機(jī)票信息。</p><p> 4、退票模塊:當(dāng)輸入姓名或證件號(hào)后會(huì)顯示您定的航班信息,再要求輸入密碼,當(dāng)密碼正確時(shí)會(huì)顯示您的個(gè)人
26、信息,回車再是否確定退票。</p><p> 5 查詢模塊:(輸入管理密碼)輸入航班號(hào),顯示航班信息 和所有乘客個(gè)人信息</p><p><b> 2.2結(jié)構(gòu)體</b></p><p> struct travellerinfo//旅客信息結(jié)構(gòu)</p><p><b> {</b></
27、p><p> char fightnum [10];//航班號(hào)</p><p> char name [10]; //姓名</p><p> char sex [5]; //性別</p><p> char idnum [20];//證件號(hào)碼</p><p> char password [10];//密碼<
28、;/p><p> char poto [12]; //聯(lián)系電話</p><p><b> };</b></p><p> struct fightinfo//機(jī)票信息結(jié)構(gòu)體</p><p><b> {</b></p><p> char fightnum [10];/
29、/航班號(hào)</p><p> char start [8];//出發(fā)地</p><p> char destination [8];//目的地</p><p> unsigned int price;//價(jià)格</p><p> unsigned int goyear;//出發(fā)時(shí)間 年</p><p> uns
30、igned int gomoth;//月</p><p> unsigned int goday;//日</p><p> unsigned int gohour;//時(shí)</p><p> unsigned int gominute;//分</p><p> unsigned int arryear;//到達(dá)時(shí)間 年<
31、/p><p> unsigned int arrmoth;//月</p><p> unsigned int arrday;//日</p><p> unsigned int arrhour;//時(shí)</p><p> unsigned int arrminute;//分</p><p> unsigned
32、 int rebate;//折扣</p><p> unsigned int allsticket;//總票數(shù)</p><p> unsigned int surplusticket;//剩余票數(shù)</p><p><b> };</b></p><p> struct allfightinfo //機(jī)票全部
33、結(jié)構(gòu)</p><p><b> {</b></p><p> struct travellerinfo fight;//旅客信息結(jié)構(gòu)</p><p> struct fightinfo fight1;//機(jī)票信息結(jié)構(gòu)體</p><p><b> };</b></p><p
34、><b> 2.3文件的定義</b></p><p> FILE *travellerfile=NULL; //存旅客信息數(shù)據(jù)文件</p><p> FILE *fightfile=NULL; //存機(jī)票信息數(shù)據(jù)文件</p><p> char filename[]="旅客信息信息登記.dat"; //記錄旅客
35、信息登記</p><p> char filename1[]="機(jī)票信息.dat"; //記錄機(jī)票信息</p><p><b> 測(cè)試數(shù)據(jù)</b></p><p><b> 3.1機(jī)票信息文件</b></p><p> 航班號(hào)出發(fā)地目的地 價(jià)格 發(fā)月-日| 時(shí)-分到月-日
36、| 時(shí)-分|折扣| 總票|余票</p><p> 長(zhǎng)沙 衡陽(yáng) 170 1-1 12: 0 2-2 13: 0 89 240 238</p><p> T1234 衡陽(yáng) 廣州 280 1-1 12:0 2-2 13: 0 60 240 240 </p><p> T12345 衡陽(yáng)
37、 廣州 230 1-1 12:11 2-2 13:12 60 241 241</p><p> 3.2旅客信息信息登記</p><p> 航班號(hào) | 姓名 | 性別| 證件號(hào) | 聯(lián)系電話 | 密碼 </p><p> 肖雙喜 男 200913020127
38、15292283221 123</p><p> 123 余榮川 男 200913020128 2142452314 12345 </p><p><b> 四、詳細(xì)設(shè)計(jì)</b></p><p><b> 4.1系統(tǒng)總體結(jié)構(gòu)</b></p>
39、;<p><b> 退</b></p><p> 圖4.1系統(tǒng)總體結(jié)構(gòu)圖</p><p> 在這個(gè)總體框架中,我們可以整體地看到這個(gè)系統(tǒng)運(yùn)行流程,所調(diào)用幾個(gè)重要函數(shù)。</p><p> 4.2密碼模塊函數(shù) void checkcode()</p><p> 該模塊包括密碼的輸入并驗(yàn)證,修改密碼。算
40、法如下:</p><p><b> N</b></p><p><b> Y</b></p><p><b> N</b></p><p><b> Y</b></p><p><b> 密碼驗(yàn)證</b&g
41、t;</p><p> 4.3機(jī)票信息錄入void inputinfo()流程圖</p><p><b> 無(wú)效重新輸入</b></p><p><b> 無(wú)效重新輸入</b></p><p><b> 無(wú)效重新輸入</b></p><p>
42、4.4訂票系統(tǒng)void bookticket()流程圖</p><p> 在有航班信息的情況下可以進(jìn)行訂票操作。</p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><p>&
43、lt;b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b&
44、gt; 否</b></p><p><b> 否</b></p><p> 4.5顯示模塊void display()流程圖</p><p><b> 否</b></p><p><b> 是</b></p><p><b&g
45、t; 否</b></p><p><b> 是</b></p><p><b> 是</b></p><p><b> 否</b></p><p> 顯示所有或條件航班信息</p><p> 4.6退票系統(tǒng)void returnt
46、icket()流程圖</p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</
47、b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 五、使用說(shuō)明 <
48、/b></p><p><b> 5.1主界面</b></p><p><b> 5-1</b></p><p> 1.程序歡迎界面(對(duì)系統(tǒng)的說(shuō)明,及程序分組名單)停留15s</p><p><b> 5-2</b></p><p> 2
49、、程序主界面(按數(shù)字1---5 再回車)進(jìn)入其他功能</p><p> 5.2機(jī)票信息管理(保存)</p><p><b> 5-3</b></p><p> 1、輸入密碼(第一次設(shè)置密碼1234)機(jī)票信息管理</p><p><b> 5-4</b></p><p&g
50、t; 選1進(jìn)入機(jī)票信息錄入</p><p><b> 5-5</b></p><p> 選2查詢所有航班信息</p><p><b> 5-6</b></p><p> 選3修改航班信息,確定后進(jìn)入查詢所有航班 </p><p><b> 5-7 <
51、;/b></p><p> 輸入航班號(hào) 顯示航班信息 要求輸入修改信息</p><p><b> 5-8</b></p><p> 刪除請(qǐng)謹(jǐn)慎,全部刪除會(huì)刪除所有文件</p><p><b> 5.3訂票系統(tǒng)使用</b></p><p><b>
52、5-8</b></p><p> 1、定票時(shí)查詢所有的航班信息</p><p><b> 5-9</b></p><p> 2、輸入正確的航班號(hào)</p><p><b> 5-10</b></p><p><b> 訂票時(shí)輸入個(gè)人信息</
53、b></p><p><b> 5.4退票系統(tǒng)</b></p><p><b> 5-11</b></p><p> 1、進(jìn)入退票系統(tǒng)是否查詢所有機(jī)票信息</p><p><b> 5-12</b></p><p> 2、選擇輸入信息輸入
54、的方式并輸入</p><p><b> 5-13</b></p><p> 3、退票時(shí)的信息顯示然后確定</p><p><b> 六、課程設(shè)計(jì)總結(jié)</b></p><p> 6.1課程設(shè)計(jì)心得: </p><p> 課程設(shè)計(jì)給我一個(gè)學(xué)以致用的機(jī)會(huì),剛開(kāi)始的時(shí)候
55、還以為學(xué)這黑黑的東西沒(méi)用,只是一些簡(jiǎn)單的計(jì)算。經(jīng)過(guò)了這次的練習(xí)我才發(fā)現(xiàn)原來(lái)的黑屏有它自己的好處,通過(guò)學(xué)習(xí)也發(fā)現(xiàn)原來(lái)這種黑屏就是那些應(yīng)用程序的原型,不論你以后學(xué)程序開(kāi)發(fā)還是網(wǎng)頁(yè)的制作都有很好大好處,這些基礎(chǔ)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握計(jì)算機(jī)開(kāi)
56、發(fā)技術(shù)是十分重要的?;仡櫰鸫舜握n程設(shè)計(jì),至今我們?nèi)愿锌H多,的確,自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。</p>&l
57、t;p> 通過(guò)這次的學(xué)習(xí)我發(fā)現(xiàn)以后不管是哪一科我們盡量要把它拿過(guò)來(lái)使用,只有把知識(shí)應(yīng)用到實(shí)際生活中才能說(shuō)這知識(shí)是自己的啦。在以后找工作中這些作品就會(huì)是我的學(xué)習(xí)憑證,是我的能力的體現(xiàn),不難想象一個(gè)公司要的是一些實(shí)際的東西不需要太多的理論。</p><p> 6.2在程序設(shè)計(jì)中的問(wèn)題和解決:</p><p> 在訂票系統(tǒng)中我們發(fā)現(xiàn),在訂票時(shí)我們的把機(jī)票信息中的剩余票數(shù)要減少一個(gè),而
58、在退票時(shí)我們的把剩余票數(shù)加以個(gè),由于在文件的定義時(shí)不好把機(jī)票信息文件和旅客信息文件放一起,所以在修改機(jī)票剩余票數(shù)的是侯的打開(kāi)兩個(gè)文件然后得對(duì)兩個(gè)文件進(jìn)行修改。</p><p> 再保存模塊得把機(jī)票的信息錄入進(jìn)去,所以有很多不分都得寫(xiě),像機(jī)票信息的錄入,修改,刪除,這樣一來(lái)就像是寫(xiě)一個(gè)機(jī)票信息管理系統(tǒng)一樣,這樣一來(lái)導(dǎo)致這個(gè)文件會(huì)很大,很繁瑣。但是還好c語(yǔ)言是面向過(guò)程的導(dǎo)致很多的程序代碼重復(fù),這樣就在寫(xiě)好一部分代碼
59、以后就可以進(jìn)行復(fù)制,然后進(jìn)行修改就行,總體來(lái)說(shuō)工作量還不是很大。.</p><p><b> 附錄</b></p><p> 源程序清單(帶注釋)</p><p> 1.機(jī)票信息錄入(帶注釋):</p><p> /*************************機(jī)票信息錄入******************
60、*******/</p><p> void inputinfo(struct allfightinfo *p_fight)</p><p><b> {</b></p><p> int count;//變量的定義</p><p> char ch,ch1;//定義變量</p><p>
61、 system("cls");//清屏</p><p> if((fightfile=fopen(filename1,"a+b"))==NULL)//打開(kāi)文件</p><p><b> {</b></p><p> printf("不能打開(kāi)文件,請(qǐng)確認(rèn)磁盤(pán)已滿或 機(jī)票信息.dat文件沒(méi)有
62、損壞");</p><p> getch();exit(1);//不能打開(kāi)時(shí)的處理</p><p><b> }</b></p><p> rewind(fightfile); //定位文件頭開(kāi)始讀取</p><p> for(count=0;fread(&p_fight[count].figh
63、t1,sizeof(struct fightinfo),1,fightfile)==1;count++)</p><p> continue; //讀取并計(jì)數(shù)已經(jīng)存的數(shù)據(jù)量</p><p> printf("\n\t\t★---您好,歡迎進(jìn)入中國(guó)民航機(jī)票信息登記系統(tǒng)!---★\n");//輸出字符及提示語(yǔ)句</p><p> printf(
64、"\n\t\t\t 飛機(jī)票信息登記表\n");</p><p> printf("\n請(qǐng)正確填寫(xiě)以下信息(系統(tǒng)目前不能完全支持中文(中文有可能出錯(cuò)),請(qǐng)用英文或拼音\n"); </p><p> printf("----------------------------------------------------------
65、-------------------\n\n");</p><p> printf("航班號(hào):");</p><p> while(count<fightMAX&&gets(p_fight[count].fight1.fightnum)!=NULL //輸入航班號(hào)</p><p> &&p_
66、fight[count].fight1.fightnum[0]!='\0')</p><p><b> {</b></p><p> printf("\n出發(fā)地:");</p><p> gets(p_fight[count].fight1.start); //輸入出發(fā)地</p><
67、p> printf("\n目的地:");</p><p> gets(p_fight[count].fight1.destination); //輸入目的地</p><p> fflush(stdin);//清空緩存</p><p> printf("\n價(jià)格:");</p><p>
68、scanf("%d",&p_fight[count].fight1.price);//輸入價(jià)格</p><p> fflush(stdin);//清空緩存</p><p> ye:printf("\n出發(fā)時(shí)間年:");</p><p> scanf("%d",&p_fight[coun
69、t].fight1.goyear);//輸入出發(fā)時(shí)間</p><p> if(!(1500<p_fight[count].fight1.goyear&&p_fight[count].fight1.goyear<4000))// 判斷年份是否為有效值</p><p><b> {</b></p><p> pri
70、ntf("\n\t\t您輸入的年份有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/n)");//不符合時(shí)的處理(下面的輸入一樣)</p><p> ch1=getch();</p><p> if(ch1=='n'||ch=='N')//詢問(wèn)出錯(cuò)時(shí)是否重新輸入</p><p><b> {</b>
71、</p><p> printf("\n\t\t您放棄重新輸入年份!");</p><p> goto mo;//轉(zhuǎn)至輸入月份</p><p><b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入年份!");</p><p>
72、; goto ye;//轉(zhuǎn)至輸入年份</p><p><b> }</b></p><p> fflush(stdin);//清空緩存</p><p> mo:printf("\n出發(fā)時(shí)間月:");</p><p> scanf("%d",&p_fight[cou
73、nt].fight1.gomoth);//時(shí)間的輸入</p><p> if(!(0<p_fight[count].fight1.gomoth&&p_fight[count].fight1.gomoth<=12))//判斷是否有效</p><p><b> {</b></p><p> printf("
74、;\n\t\t您輸入的月份有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/n)");//無(wú)效時(shí)的處理</p><p> ch1=getch();</p><p> if(ch1=='n'||ch=='N')</p><p><b> {</b></p><p> printf(&q
75、uot;\n\t\t您放棄重新輸入月份!");</p><p> goto da;//轉(zhuǎn)至輸入時(shí)間天</p><p><b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入月份!");</p><p> goto mo;//轉(zhuǎn)至輸入時(shí)間月</p>
76、<p><b> }</b></p><p> fflush(stdin);//清空緩存</p><p> da:printf("\n出發(fā)時(shí)間日:");//時(shí)間天的輸入</p><p> scanf("%d",&p_fight[count].fight1.goday);<
77、;/p><p> if(!(0<p_fight[count].fight1.goday&&p_fight[count].fight1.goday<=31))//判斷是否有效</p><p><b> {</b></p><p> printf("\n\t\t您輸入的日有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/
78、n)");//無(wú)效時(shí)的處理</p><p> ch1=getch();</p><p> if(ch1=='n'||ch=='N')</p><p><b> {</b></p><p> printf("\n\t\t您放棄日重新輸入!");</
79、p><p> goto go;//轉(zhuǎn)至輸入出發(fā)時(shí)間</p><p><b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入日!");</p><p> goto da;//轉(zhuǎn)至輸入時(shí)間天</p><p><b> }</b>
80、</p><p> fflush(stdin);//清空緩存</p><p> go:printf("\n出發(fā)時(shí)間時(shí):");//出發(fā)時(shí)間時(shí)的輸入</p><p> scanf("%d",&p_fight[count].fight1.gohour);</p><p> if(!(0<
81、=p_fight[count].fight1.gohour&&p_fight[count].fight1.gohour<=23))//不合適時(shí)的處理</p><p><b> {</b></p><p> printf("\n\t\t您輸入的時(shí)間有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/n)");</p><
82、;p> ch1=getch();//輸入一個(gè)字符</p><p> if(ch1=='n'||ch=='N')//判斷字符</p><p><b> {</b></p><p> printf("\n\t\t您放棄時(shí)間重新輸入!");</p><p>
83、goto gomi;//轉(zhuǎn)至出發(fā)分的輸入</p><p><b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入時(shí)間!");</p><p><b> goto go;</b></p><p><b> }</b></
84、p><p> fflush(stdin);</p><p> gomi:printf("\n出發(fā)時(shí)間分:");</p><p> scanf("%d",&p_fight[count].fight1.gominute);</p><p> if(!(0<=p_fight[count].f
85、ight1.gominute&&p_fight[count].fight1.gominute<=59))</p><p><b> {</b></p><p> printf("\n\t\t您輸入的時(shí)間有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/n)");</p><p> ch1=getch();&l
86、t;/p><p> if(ch1=='n'||ch=='N')</p><p><b> {</b></p><p> printf("\n\t\t您放棄時(shí)間重新輸入!");</p><p> goto arry;</p><p><
87、b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入時(shí)間!");</p><p> goto gomi;</p><p><b> }</b></p><p> fflush(stdin);</p><p> arry:pri
88、ntf("\n到達(dá)時(shí)間年:");//輸入到達(dá)時(shí)間</p><p> scanf("%d",&p_fight[count].fight1.arryear);</p><p> if(p_fight[count].fight1.arryear<p_fight[count].fight1.goyear)//判斷輸入到達(dá)的年份是否為有效,到
89、達(dá)時(shí)間不能小于出發(fā)時(shí)間(下同)</p><p><b> {</b></p><p> printf("您輸入的到達(dá)時(shí)間小于起飛時(shí)間,請(qǐng)重新輸入到達(dá)時(shí)間年!");</p><p> goto arry;</p><p><b> }</b></p><
90、p> if(!(1500<p_fight[count].fight1.arryear&&p_fight[count].fight1.arryear<4000))</p><p><b> {</b></p><p> printf("\n\t\t您輸入的年份有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/n)");&l
91、t;/p><p> ch1=getch();</p><p> if(ch1=='n'||ch=='N')</p><p><b> {</b></p><p> printf("\n\t\t您放棄重新輸入年份!");</p><p> g
92、oto arrm;</p><p><b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入年份!");</p><p> goto arry;</p><p><b> }</b></p><p> fflush(std
93、in);</p><p> arrm:printf("\n到達(dá)時(shí)間月:");</p><p> scanf("%d",&p_fight[count].fight1.arrmoth);</p><p> if(p_fight[count].fight1.arryear==p_fight[count].fight1.
94、goyear&&p_fight[count].fight1.arrmoth<p_fight[count].fight1.gomoth)</p><p><b> {</b></p><p> printf("您輸入的到達(dá)時(shí)間小于起飛時(shí)間,請(qǐng)重新輸入到達(dá)時(shí)間月!");</p><p> goto a
95、rrm;</p><p><b> }</b></p><p> if(!(0<p_fight[count].fight1.arrmoth&&p_fight[count].fight1.arrmoth<=12))</p><p><b> {</b></p><p>
96、; printf("\n\t\t您輸入的月份有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/n)");</p><p> ch1=getch();</p><p> if(ch1=='n'||ch=='N')</p><p><b> {</b></p><p> pr
97、intf("\n\t\t您放棄重新輸入月份!");</p><p> goto arrd;</p><p><b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入月份!");</p><p> goto arrm;</p><p
98、><b> }</b></p><p> fflush(stdin);</p><p> arrd:printf("\n到達(dá)時(shí)間日:");</p><p> scanf("%d",&p_fight[count].fight1.arrday);</p><p>
99、; if(p_fight[count].fight1.arrmoth==p_fight[count].fight1.gomoth&&p_fight[count].fight1.arrday<p_fight[count].fight1.goday)</p><p><b> {</b></p><p> printf("您輸入的到達(dá)
100、時(shí)間小于起飛時(shí)間,請(qǐng)重新輸入到達(dá)時(shí)間日!");</p><p> goto arrd;</p><p><b> }</b></p><p> if(!(0<p_fight[count].fight1.arrday&&p_fight[count].fight1.arrday<=31))</p&g
101、t;<p><b> {</b></p><p> printf("\n\t\t您輸入的日有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/n)");</p><p> ch1=getch();</p><p> if(ch1=='n'||ch=='N')</p>&l
102、t;p><b> {</b></p><p> printf("\n\t\t您放棄日重新輸入!");</p><p> goto arrh;</p><p><b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入日!"
103、);</p><p> goto arrd;</p><p><b> }</b></p><p> fflush(stdin);</p><p> arrh:printf("\n到達(dá)時(shí)間時(shí):");</p><p> scanf("%d",&
104、;p_fight[count].fight1.arrhour);</p><p> if(p_fight[count].fight1.arrmoth==p_fight[count].fight1.gomoth&&p_fight[count].fight1.arrday==p_fight[count].fight1.goday&&p_fight[count].fight1.arrh
105、our<p_fight[count].fight1.gohour)</p><p><b> {</b></p><p> printf("您輸入的到達(dá)時(shí)間小于起飛時(shí)間,請(qǐng)重新輸入到達(dá)時(shí)間時(shí)!");</p><p> goto arrh;</p><p><b> }</
106、b></p><p> if(!(0<=p_fight[count].fight1.arrhour&&p_fight[count].fight1.arrhour<=23))</p><p><b> {</b></p><p> printf("\n\t\t您輸入的時(shí)間有點(diǎn)不和實(shí)際!請(qǐng)確定是否重
107、新輸入(y/n)");</p><p> ch1=getch();</p><p> if(ch1=='n'||ch=='N')</p><p><b> {</b></p><p> printf("\n\t\t您放棄時(shí)間重新輸入!");</p
108、><p> goto arrmi;</p><p><b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入時(shí)間!");</p><p> goto arrh;</p><p><b> }</b></p>&l
109、t;p> fflush(stdin);</p><p> arrmi:printf("\n到達(dá)時(shí)間分:");</p><p> scanf("%d",&p_fight[count].fight1.arrminute);</p><p> if(p_fight[count].fight1.arrmoth=
110、=p_fight[count].fight1.gomoth&&p_fight[count].fight1.arrday==p_fight[count].fight1.goday&&p_fight[count].fight1.arrhour==p_fight[count].fight1.gohour&&p_fight[count].fight1.arrminute<p_fight[co
111、unt].fight1.gominute)</p><p><b> {</b></p><p> printf("您輸入的到達(dá)時(shí)間小于起飛時(shí)間,請(qǐng)重新輸入到達(dá)時(shí)間分!");</p><p> goto arrmi;</p><p><b> }</b></p>
112、;<p> if(!(0<=p_fight[count].fight1.arrminute&&p_fight[count].fight1.arrminute<=59))</p><p><b> {</b></p><p> printf("\n\t\t您輸入的時(shí)間有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/n)&q
113、uot;);</p><p> ch1=getch();</p><p> if(ch1=='n'||ch=='N')</p><p><b> {</b></p><p> printf("\n\t\t您放棄時(shí)間重新輸入!");</p><
114、p> goto reb;</p><p><b> }</b></p><p> printf("\n\t\t請(qǐng)重新輸入時(shí)間!");</p><p> goto arrmi;</p><p><b> }</b></p><p> ff
115、lush(stdin);</p><p> reb:printf("\n折扣:");</p><p> scanf("%d",&p_fight[count].fight1.rebate);</p><p> if(!(0<p_fight[count].fight1.rebate&&p_fig
116、ht[count].fight1.rebate<=100))</p><p><b> {</b></p><p> printf("\n\t\t您輸入的折扣有點(diǎn)不和實(shí)際!請(qǐng)確定是否重新輸入(y/n)");</p><p> ch1=getch();</p><p> if(ch1==&
117、#39;n'||ch=='N')</p><p><b> {</b></p><p> printf("\n\t\t您放棄折扣重新輸入!");</p><p> goto alls;</p><p><b> }</b></p>
118、<p> printf("\n\t\t請(qǐng)重新輸入折扣!");</p><p><b> goto reb;</b></p><p><b> }</b></p><p> fflush(stdin);</p><p> alls:printf("\n
119、總票數(shù):");</p><p> scanf("%d",&p_fight[count].fight1.allsticket);</p><p> fflush(stdin);</p><p> surp:printf("\n剩余票數(shù):");</p><p> scanf(&qu
120、ot;%d",&p_fight[count].fight1.surplusticket);</p><p> if(p_fight[count].fight1.surplusticket>p_fight[count].fight1.allsticket)</p><p><b> {</b></p><p> pr
121、intf("您輸入的剩余票不合乎實(shí)際!!!請(qǐng)重新輸入!");</p><p> goto surp;</p><p><b> }</b></p><p> fflush(stdin);//清空緩存</p><p> fwrite(&p_fight[count++].fight1,si
122、zeof(struct fightinfo),1,fightfile); //將信息寫(xiě)入文件 </p><p> printf("是否錄入下一個(gè)飛機(jī)票信息(y/n)");//詢問(wèn)是否輸入下一個(gè)機(jī)票信息</p><p> ch=getch(); //輸入一個(gè)字符</p><p> if(ch=='y'||ch=='Y
123、')//判斷字符的輸入</p><p><b> {</b></p><p> system("cls");</p><p> printf("\n請(qǐng)輸入下一個(gè)飛機(jī)票信息\n");</p><p> printf("\n航班號(hào):"); </
124、p><p> continue; //繼續(xù)輸入下一個(gè)飛機(jī)票信息 </p><p><b> } </b></p><p><b> else</b></p><p><b> {</b></p><p> printf("\n\n飛機(jī)
125、票信息錄入結(jié)束,返回!");</p><p> fclose(fightfile); //關(guān)閉文件 </p><p> getch(); //返回子菜單</p><p> system("cls");//清屏</p><p><b> return ; </b></p>
126、<p><b> }</b></p><p><b> }</b></p><p> printf("輸入有誤,終止飛機(jī)票信息錄信,返回!");</p><p> getch();//等待輸入字符</p><p> system("cls"
127、;);</p><p> return ; //返回 </p><p> 3.源程序清單:(附)</p><p> /* ****************************************</p><p> * Author:飛機(jī)訂票系統(tǒng)組</p><p> * Datetime:2010/06
128、*/</p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p> #include<conio.h></p><p> #include&
129、lt;time.h></p><p> #define fightMAX 1000</p><p> void inputinfo(struct allfightinfo *);//機(jī)票信息錄入</p><p> void filename1read (struct allfightinfo *);//旅客信息信息讀取</p><p&
130、gt; void allabout(struct allfightinfo *); //查詢所有信息</p><p> void mofinfo(struct allfightinfo *);//修改機(jī)票信息</p><p> void password();//密碼驗(yàn)證</p><p> int checkcode();//身份驗(yàn)證</p>
131、<p> void modifycode();//修改登陸密碼</p><p> void delinfo(struct allfightinfo *);//刪除</p><p> void fightcontrol(struct allfightinfo *);//機(jī)票管理模塊</p><p> void bookticket(struct al
132、lfightinfo *p_fight);//訂票系統(tǒng)</p><p> void display(struct allfightinfo *p_fight);//顯示模塊</p><p> void returnticket(struct allfightinfo *p_fight);//退票</p><p> void enquiry(struct all
133、fightinfo *p_fight);//查詢模塊</p><p> void welcome();//歡迎</p><p> int submeun();</p><p> struct travellerinfo//旅客信息結(jié)構(gòu)</p><p><b> {</b></p><p>
134、 char fightnum [10];//航班號(hào)</p><p> char name [10]; //姓名</p><p> char sex [5]; //性別</p><p> char idnum [20];//證件號(hào)碼</p><p> char password [10];//密碼</p><p&g
135、t; char poto [12]; //聯(lián)系電話</p><p><b> };</b></p><p> struct fightinfo//機(jī)票信息結(jié)構(gòu)體</p><p><b> {</b></p><p> char fightnum [10];//航班號(hào)</p>
136、<p> char start [8];//出發(fā)地</p><p> char destination [8];//目的地</p><p> unsigned int price;//價(jià)格</p><p> unsigned int goyear;//出發(fā)時(shí)間 年</p><p> unsigned int gomot
137、h;//月</p><p> unsigned int goday;//日</p><p> unsigned int gohour;//時(shí)</p><p> unsigned int gominute;//分</p><p> unsigned int arryear;//到達(dá)時(shí)間 年</p><p>
138、; unsigned int arrmoth;//月</p><p> unsigned int arrday;//日</p><p> unsigned int arrhour;//時(shí)</p><p> unsigned int arrminute;//分</p><p> unsigned int rebate;//折
139、扣</p><p> unsigned int allsticket;//總票數(shù)</p><p> unsigned int surplusticket;//剩余票數(shù)</p><p><b> };</b></p><p> struct allfightinfo //機(jī)票全部結(jié)構(gòu)</p>&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 飛機(jī)定票系統(tǒng)c語(yǔ)言課程設(shè)計(jì)
- 飛機(jī)定票系統(tǒng)c語(yǔ)言課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)---飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)
- c語(yǔ)言飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)
- 飛機(jī)訂票系統(tǒng)c語(yǔ)言課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)(飛機(jī)訂票系統(tǒng)說(shuō)明書(shū))
- c語(yǔ)言課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)說(shuō)明書(shū)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---民航飛機(jī)票訂票系統(tǒng)設(shè)計(jì)
- 軟件課程設(shè)計(jì)--c語(yǔ)言程序之飛機(jī)票訂票系統(tǒng)
- c課程設(shè)計(jì)報(bào)告飛機(jī)訂票系統(tǒng)
- c++課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)
- 【課程設(shè)計(jì)】c語(yǔ)言課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告--飛機(jī)訂票系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---飛機(jī)訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)c語(yǔ)言版飛機(jī) 訂票 系統(tǒng)資料
評(píng)論
0/150
提交評(píng)論