版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 軟件課程設(shè)計(jì)報(bào)告</b></p><p><b> 1軟件設(shè)計(jì)1</b></p><p><b> 1.1設(shè)計(jì)題目1</b></p><p><b> 1.2設(shè)計(jì)要求1</b></p><p><b>
2、 1.3設(shè)計(jì)思想1</b></p><p><b> 1.4流程圖2</b></p><p><b> 2軟件測(cè)試9</b></p><p> 2.1航班信息查詢模塊測(cè)試9</p><p> 2.2訂票模塊測(cè)試14</p><p> 2.3機(jī)票
3、信息查詢模塊測(cè)試17</p><p> 2.4退票模塊測(cè)試18</p><p><b> 3算法改進(jìn)21</b></p><p><b> 4開發(fā)體會(huì)22</b></p><p> 附錄:源代碼清單24</p><p><b> 參考文獻(xiàn)42&
4、lt;/b></p><p><b> 1軟件設(shè)計(jì)</b></p><p><b> 1.1設(shè)計(jì)題目</b></p><p><b> 飛機(jī)票銷售系統(tǒng)。</b></p><p><b> 1.2設(shè)計(jì)要求</b></p><
5、p> 運(yùn)用C語言基本知識(shí),結(jié)合相關(guān)算法思想和數(shù)據(jù)結(jié)構(gòu),編寫一個(gè)單微機(jī)系統(tǒng)下運(yùn)行的飛機(jī)票銷售系統(tǒng)。飛機(jī)票銷售系統(tǒng)應(yīng)實(shí)現(xiàn)航班信息查詢、機(jī)票購買、機(jī)票信息查詢、機(jī)票退購等功能。</p><p><b> 1.3設(shè)計(jì)思想</b></p><p> 本程序分為四個(gè)模塊,即航班信息查詢模塊、訂票模塊、機(jī)票信息查詢模塊和退票模塊。程序中定義了三種結(jié)構(gòu)為PLANES、BO
6、OK和TICKETS,分別用于航班信息、旅客信息和機(jī)票信息的存取和修改。為了儲(chǔ)存航班信息、旅客信息和機(jī)票信息,程序中建立了三個(gè)文件分別為planes.txt、book.txt和tickets.txt。</p><p> 航班信息查詢模塊的功能主要由函數(shù)search1()實(shí)現(xiàn),而航班信息查詢模塊中又分為按航班號(hào)查詢航班信息模塊、按目的地查詢航班信息模塊和按起飛時(shí)間查詢航班信息模塊三個(gè)小模塊,因此search1()
7、中分別調(diào)用函數(shù)search11()、search12()和search13()來實(shí)現(xiàn)每個(gè)小模塊的功能。</p><p> 訂票模塊的功能由函數(shù)book(int *k,BOOK *q,TICKETS *m)實(shí)現(xiàn)。</p><p> 機(jī)票信息查詢模塊功能由函數(shù)search2(int *n,TICKETS *w)實(shí)現(xiàn)。</p><p> 退票模塊功能由函數(shù)refun
8、d(int *a,BOOK *b,TICKETS *c)實(shí)現(xiàn)。</p><p> 每個(gè)模塊的函數(shù)都通過對(duì)結(jié)構(gòu)數(shù)組和文件的操作來實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取和修改,從而實(shí)現(xiàn)各自的功能。</p><p> 程序中采用的查找數(shù)據(jù)方式為順序查找。</p><p><b> 1.4流程圖</b></p><p><b> 主
9、函數(shù)流程圖</b></p><p> search1()為航班信息查詢函數(shù),book(int *k,BOOK *q,TICKETS *m)為訂票函數(shù),search2(int *n,TICKETS *w)為機(jī)票信息查詢函數(shù),refund(int *a,BOOK *b,TICKETS *c)為退票函數(shù)。</p><p> 航班信息查詢函數(shù)search1()流程圖</p&
10、gt;<p> search11()為按航班號(hào)查詢航班信息函數(shù),search12()為按目的地查詢航班信息函數(shù),search13()為按起飛時(shí)間查詢航班信息函數(shù)。</p><p> 按航班號(hào)查詢航班信息函數(shù)search11()流程圖</p><p> search12()和search13()的流程圖同理,僅需改變判斷條件。</p><p>
11、訂購機(jī)票函數(shù)book(int *k,BOOK *q,TICKETS *m)流程圖</p><p> 機(jī)票信息查詢函數(shù)search2(int *n,TICKETS *w)流程圖</p><p> 退票函數(shù)refund(int *a,BOOK *b,TICKETS *c)流程圖</p><p><b> 2軟件測(cè)試</b></p>
12、<p> 2.1航班信息查詢模塊測(cè)試</p><p> 運(yùn)行程序,首先進(jìn)入主菜單界面。</p><p> 選擇1,進(jìn)入航班信息查詢模塊。顯示子菜單界面。</p><p> 選擇1,按航班號(hào)查詢航班信息。輸入航班號(hào)“ZH9658”。</p><p> 查找到相應(yīng)航班信息如下:</p><p>
13、若在子菜單中選擇2,按目的地查詢航班信息,輸入目的地“上?!?。</p><p> 查找到相應(yīng)航班信息如下:</p><p> 若在子菜單中選擇3,按起飛時(shí)間查找航班信息。輸入起飛時(shí)間“08:00”。</p><p> 查找到相應(yīng)航班信息如下:</p><p><b> 2.2訂票模塊測(cè)試</b></p>
14、;<p> 在主菜單中選擇2,進(jìn)行機(jī)票購買。顯示購票界面。</p><p> 如要購買從武漢飛往深圳的航班機(jī)票,則輸入相應(yīng)航班號(hào)UK1266。系統(tǒng)將提示旅客輸入姓名,性別和身份證號(hào)等旅客信息。如下圖,輸入姓名“張三”,性別“男”,身份證號(hào)“450562199006230025”。</p><p> 若該航班仍有剩余機(jī)票,則旅客購票成功,顯示“購票成功”,同時(shí)生成機(jī)票編號(hào)
15、并顯示到屏幕上。</p><p> 回到主菜單,選擇1進(jìn)入航班信息查詢模塊,再選擇1,輸入張三購買機(jī)票對(duì)應(yīng)的航班號(hào)。</p><p> 在顯示的航班信息中,剩余機(jī)票數(shù)已由100變?yōu)?9。</p><p> 2.3機(jī)票信息查詢模塊測(cè)試</p><p> 接著上次步驟,回到主菜單,選擇3進(jìn)入機(jī)票信息查詢模塊。系統(tǒng)提示輸入機(jī)票編號(hào)。輸入張三
16、購買的機(jī)票的編號(hào)“51”。</p><p> 系統(tǒng)查詢到相應(yīng)的機(jī)票信息并顯示到屏幕如下:</p><p><b> 2.4退票模塊測(cè)試</b></p><p> 在主菜單中選擇4,進(jìn)入退票模塊。系統(tǒng)提示輸入需要退還的機(jī)票的編號(hào),輸入張三購買的機(jī)票的編號(hào)“51”。</p><p> 屏幕上顯示“退票成功”字樣,則表
17、示旅客已成功退票。</p><p> 此時(shí)若回到主菜單中選擇3進(jìn)入機(jī)票信息查詢模塊,輸入張三曾購買的機(jī)票的編號(hào),則顯示“對(duì)不起,該機(jī)票編號(hào)不存在”。</p><p> 在主菜單中選擇1進(jìn)入航班信息查詢模塊,按任意一種查找方式查找到張三曾購買的機(jī)票的航班信息,剩余機(jī)票數(shù)由99變回100。</p><p> 以上測(cè)試僅以單人次購買單張機(jī)票為例,對(duì)于多人次購買多張機(jī)
18、票,該系統(tǒng)的測(cè)試結(jié)果仍正確無誤。</p><p><b> 3算法改進(jìn)</b></p><p><b> 改進(jìn)一:</b></p><p> 在主函數(shù)中定義的數(shù)組BOOK a[1400]和TICKETS t[1400]用于臨時(shí)存儲(chǔ)旅客信息和機(jī)票信息,并可對(duì)其進(jìn)行修改,同時(shí)也可以實(shí)現(xiàn)多次購票的功能。在經(jīng)過認(rèn)真思考后,我
19、認(rèn)為可以省去BOOK a[1400]和TICKETS t[1400]。在購票函數(shù)、機(jī)票信息查詢函數(shù)和退票函數(shù)中可以臨時(shí)定義BOOK型數(shù)組和TICKETS型數(shù)組,用追加方式打開book.txt和planes.txt并將文件中的信息讀到相應(yīng)數(shù)組中,如此一來也能實(shí)現(xiàn)對(duì)旅客信息和機(jī)票信息的修改、添加和刪除,且能多次購票。</p><p><b> 改進(jìn)二:</b></p><p
20、> 程序中10個(gè)航班信息和50個(gè)已售出機(jī)票信息均通過初始化方式賦給相應(yīng)的結(jié)構(gòu)數(shù)組,再儲(chǔ)存到相應(yīng)的文件中。這種方式處理信息不夠靈活,也不便于管理。因此,程序中可以增加一個(gè)航班信息添加模塊。</p><p><b> 4開發(fā)體會(huì)</b></p><p> 為了開發(fā)飛機(jī)票信息管理系統(tǒng),我耗費(fèi)了大量時(shí)間和精力,在開發(fā)的過程中,我遇到了許許多多的挫折,但也因此進(jìn)行了
21、反反復(fù)復(fù)的思考,從中得到了不少體會(huì)。</p><p> 體會(huì)一:此次編程的內(nèi)容較多,與以往的編程大不相同,因此剛開始設(shè)計(jì)軟件時(shí)我有許多困惑,甚至無從下手。在后來的編程過程中,我深刻地體會(huì)到“模塊化”這一設(shè)計(jì)思想的重要性。一個(gè)程序只有具備“模塊化”這一特征才能有條不紊、條理清晰,否則會(huì)混亂不堪,可讀性也受到影響。因此,要編寫出一段正確且美觀整潔的程序,必須先大致將程序劃分為幾個(gè)模塊,然后再分別讓每個(gè)模塊實(shí)現(xiàn)各自的
22、功能。在我所編寫的程序中,我將它大致劃分成了航班信息查詢模塊、訂票模塊、機(jī)票信息查詢模塊和退票模塊四個(gè)模塊,而在航班信息查詢模塊中,我又將其細(xì)分為按航班號(hào)查詢航班信息模塊、按目的地查詢航班信息模塊和按起飛時(shí)間查詢航班信息模塊三個(gè)更小的模塊。如此一來,程序大致的框架便有了,我的思路也因此變得清晰明了,從而也就不會(huì)無從下手了。</p><p> 體會(huì)二:在第一次編寫購票函數(shù)時(shí),函數(shù)中沒有使用任何形參,也沒有采用追加
23、方式打開文件,這導(dǎo)致系統(tǒng)無法記錄已售出機(jī)票數(shù),也不能實(shí)現(xiàn)多次購票。為了解決這個(gè)問題,我在購票函數(shù)中添加了形參int *a,BOOK *q和TICKETS *m,并在主函數(shù)中定義了整型變量j、TICKETS型數(shù)組和BOOK型數(shù)組,從而使系統(tǒng)能記錄已售出機(jī)票數(shù)并可以進(jìn)行多次購票。</p><p> 體會(huì)三:在完成任務(wù)的過程中,我深刻體會(huì)到軟件的開發(fā)需要縝密的思維和一絲不茍的態(tài)度。一個(gè)不經(jīng)意的小小的錯(cuò)誤就可能導(dǎo)致程序
24、錯(cuò)漏百出、面目全非,真可謂“失之毫厘,差之千里”。在編寫退票函數(shù)時(shí),我采用for循環(huán)記錄機(jī)票信息和旅客信息,由于錯(cuò)將判斷是否執(zhí)行循環(huán)體的條件“k<*a”寫成“k<*a+1”,導(dǎo)致信息錄入不正確。因此每當(dāng)我查詢機(jī)票信息時(shí)總得不到正確的結(jié)果。經(jīng)過多番的檢查和思考,才發(fā)現(xiàn)這一錯(cuò)誤。將錯(cuò)誤糾正后,程序測(cè)試結(jié)果無誤。這一糾錯(cuò)過程耗費(fèi)了我大量時(shí)間,嚴(yán)重影響了效率。所以我覺得嚴(yán)謹(jǐn)?shù)乃季S是一個(gè)優(yōu)秀的程序員所應(yīng)具備的。多從事編程活動(dòng)有助于培養(yǎng)
25、良好的思維習(xí)慣。</p><p> 這次飛機(jī)票銷售系統(tǒng)的開發(fā)雖經(jīng)歷了不少挑戰(zhàn),遭遇了許多的挫折和打擊,但我憑著自己的努力最終克服困難,完成了任務(wù)。盡管軟件中仍存在諸多不足,但它是我多日心血的結(jié)晶,它包含了我這一路走來的酸甜苦辣。</p><p> 通過這次軟件設(shè)計(jì),我成功地把所學(xué)C語言和數(shù)據(jù)結(jié)構(gòu)知識(shí)應(yīng)用到實(shí)際軟件開發(fā)中去,掌握了中小規(guī)模軟件設(shè)計(jì)和開發(fā)的方法和步驟,也深深地領(lǐng)略到了軟件設(shè)
26、計(jì)的魅力。</p><p><b> 附錄:源代碼清單</b></p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p> #i
27、nclude<conio.h></p><p> typedef struct planes //儲(chǔ)存航班信息的結(jié)構(gòu)</p><p><b> {</b></p><p> char planenum[7];</p><p> char start[12];</p><p&g
28、t; char destination[12];</p><p> char flytime[6];</p><p> int tickets;</p><p> int people;</p><p> int price;</p><p><b> }PLANES;</b><
29、/p><p> typedef struct book //儲(chǔ)存旅客信息的結(jié)構(gòu)</p><p><b> {</b></p><p> char name[20];</p><p> char sex[8];</p><p> char ID[20];</p><
30、p> int ticketnum;</p><p><b> }BOOK;</b></p><p> typedef struct tickets //儲(chǔ)存機(jī)票信息的結(jié)構(gòu)</p><p><b> {</b></p><p> int ticketnum;</p>&
31、lt;p> char planenum[7];</p><p> char start[12];</p><p> char destination[12];</p><p> char flytime[6];</p><p> char name[20];</p><p> char sex[8];
32、</p><p><b> }TICKETS;</b></p><p> void menu();</p><p> void information1();</p><p> void information2(TICKETS *x);</p><p> void search1();
33、</p><p> void menu1();</p><p> void search11();</p><p> void search12();</p><p> void search13();</p><p> void book(int *k,BOOK *q,TICKETS *m);</p&
34、gt;<p> void search2(int *n,TICKETS *w);</p><p> void refund(int *a,BOOK *b,TICKETS *c);</p><p> void main()</p><p><b> {</b></p><p> menu();
35、 //顯示主菜單</p><p> information1(); //錄入10個(gè)航班信息</p><p> int choice=0;</p><p> int j=50; //已售出機(jī)票數(shù)</p><p> BOOK a[1400]; /
36、/用于儲(chǔ)存旅客信息的結(jié)構(gòu)數(shù)組,最多有1400組</p><p> TICKETS t[1400]; //用于儲(chǔ)存機(jī)票信息的結(jié)構(gòu)數(shù)組,最多有1400組</p><p> information2(t); //錄入50個(gè)已售出機(jī)票信息</p><p> for(;choice!=5;)</p><p><
37、;b> {</b></p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p><b> {</b></p><p><b> case 1:</b></p><
38、;p> search1(); </p><p><b> break;</b></p><p><b> case 2:</b></p><p> book(&j,a,t);</p><p><b> break;</b></p>
39、<p><b> case 3:</b></p><p> search2(&j,t);</p><p><b> break;</b></p><p><b> case 4:</b></p><p> refund(&j,a,t);&l
40、t;/p><p><b> break;</b></p><p><b> case 5:</b></p><p> system("cls");</p><p><b> break;</b></p><p><b>
41、 default :</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> system("color CF");</p>&
42、lt;p> printf( "\t\t **********************************************\n"</p><p> "\t\t * 感謝您的使用,祝您旅途愉快,再見! *\n"</p><p> "\t\t ***********************
43、***********************\n");</p><p> remove("planes.txt");</p><p> remove("tickets.txt");</p><p> remove("book.txt");</p><p><b
44、> }</b></p><p> void menu()</p><p><b> {</b></p><p> system("color B4");</p><p> printf( "\t\t******************************
45、*********************\n"</p><p> "\t\t* 歡迎使用飛機(jī)票銷售系統(tǒng) *\n"</p><p> "\t\t***************************************************\n"</p><p&
46、gt; "\t\t*請(qǐng)選擇服務(wù): *\n"</p><p> "\t\t* 1.航班信息查詢 *\n"</p><p> "\t\t*
47、 *\n"</p><p> "\t\t* 2.機(jī)票購買 *\n"</p><p> "\t\t* *\n"</p>&l
48、t;p> "\t\t* 3.機(jī)票信息查詢 *\n"</p><p> "\t\t* *\n"</p><p> "\t\t* 4.機(jī)票退購
49、 *\n"</p><p> "\t\t* *\n"</p><p> "\t\t* 5.退出系統(tǒng) *\n"</p&g
50、t;<p> "\t\t***************************************************\n");</p><p><b> }</b></p><p> void information1()</p><p><b> {</b></p
51、><p> PLANES air[10]={</p><p> {"ZH9658","武漢","廣州","09:00",200,200,900},</p><p> {"GS7546","武漢","鄭州","11:4
52、0",90,100,685},</p><p> {"CZ3445","武漢","重慶","17:35",91,100,885},</p><p> {"KZ5567","武漢","北京","08:00",200,20
53、0,790},</p><p> {"DW4612","武漢","上海","14:25",200,200,356},</p><p> {"MZ5431","武漢","杭州","18:00",91,100,456},</p
54、><p> {"UK1266","武漢","深圳","12:45",100,100,800},</p><p> {"KS3256","武漢","南寧","10:00",92,100,455},</p><p&g
55、t; {"KZ6532","武漢","天津","21:00",193,200,356},</p><p> {"GM9825","武漢","香港","19:00",93,100,575}</p><p><b> }
56、;</b></p><p><b> FILE *fp;</b></p><p> PLANES *p=air;</p><p> fp=fopen("planes.txt","w"); //所有航班信息儲(chǔ)存到文件"planes.txt"中</
57、p><p> fwrite(p,sizeof(PLANES),10,fp);</p><p> rewind(fp);</p><p> fclose(fp);</p><p><b> }</b></p><p> void information2(TICKETS *x)</p&g
58、t;<p><b> {</b></p><p> TICKETS a[50]={{1,"GS7546","武漢","鄭州","11:40","王大偉","男"},</p><p> {2,"GS7546",&
59、quot;武漢","鄭州","11:40","胡賓","男"},</p><p> {3,"GS7546","武漢","鄭州","11:40","王玲","女"},</p><p>
60、; {4,"CZ3445","武漢","重慶","17:35","許永賓","男"},</p><p> {5,"CZ3445","武漢","重慶","17:35","王華","男&
61、quot;},</p><p> {6,"MZ5431","武漢","杭州","18:00","劉春","女"},</p><p> {7,"KS3256","武漢","南寧","10:00&quo
62、t;,"鄭安","男"},</p><p> {8,"GM9825","武漢","香港","19:00","李明","男"},</p><p> {9,"KZ6532","武漢",&quo
63、t;天津","21:00","楊向東","男"},</p><p> {10,"KS3256","武漢","南寧","10:00","胡華","男"},</p><p> {11,"KS3
64、256","武漢","南寧","10:00","劉美","女"},</p><p> {12,"KS3256","武漢","南寧","10:00","江成","男"},</p&g
65、t;<p> {13,"MZ5431","武漢","杭州","18:00","黃龍","男"},</p><p> {14,"MZ5431","武漢","杭州","18:00","劉小月&
66、quot;,"女"},</p><p> {15,"MZ5431","武漢","杭州","18:00","劉亮","男"},</p><p> {16,"GS7546","武漢","鄭州"
67、,"11:40","李紅","女"},</p><p> {17,"GS7546","武漢","鄭州","11:40","王楓","男"},</p><p> {18,"GS7546",&
68、quot;武漢","鄭州","11:40","石江","男"},</p><p> {19,"CZ3445","武漢","重慶","17:35","王明月","男"},</p><p&
69、gt; {20,"GM9825","武漢","香港","19:00","鄭安","男"},</p><p> {21,"GM9825","武漢","香港","19:00","劉建國",&quo
70、t;男"},</p><p> {22,"GM9825","武漢","香港","19:00","胡太平","男"},</p><p> {23,"GS7546","武漢","鄭州","11
71、:40","王德","男"},</p><p> {24,"GS7546","武漢","鄭州","11:40","張遠(yuǎn)","男"},</p><p> {25,"CZ3445","武漢&q
72、uot;,"重慶","17:35","陳梅","女"},</p><p> {26,"GS7546","武漢","鄭州","11:40","蘇紅","女"},</p><p> {27,&
73、quot;GS7546","武漢","鄭州","11:40","黃單","男"},</p><p> {28,"KS3256","武漢","南寧","10:00","蘇非","女"},
74、</p><p> {29,"KZ6532","武漢","天津","21:00","歐平","男"},</p><p> {30,"CZ3445","武漢","重慶","17:35",&q
75、uot;劉威","男"},</p><p> {31,"CZ3445","武漢","重慶","17:35","黃依","女"},</p><p> {32,"GM9825","武漢","香
76、港","19:00","王小明","男"},</p><p> {33,"KZ6532","武漢","天津","21:00","張節(jié)","男"},</p><p> {34,"CZ3445
77、","武漢","重慶","17:35","劉南","男"},</p><p> {35,"GM9825","武漢","香港","19:00","付素","女"},</p>
78、<p> {36,"KZ6532","武漢","天津","21:00","魏江","男"},</p><p> {37,"KZ6532","武漢","天津","21:00","黃紅"
79、;,"女"},</p><p> {38,"CZ3445","武漢","重慶","17:35","劉輝","男"},</p><p> {39,"KZ6532","武漢","天津",&qu
80、ot;21:00","胡威","男"},</p><p> {40,"KZ6532","武漢","天津","21:00","李鵬","男"},</p><p> {41,"KS3256","
81、;武漢","南寧","10:00","郭洋","男"},</p><p> {42,"GM9825","武漢","香港","19:00","劉玉","男"},</p><p>
82、{43,"CZ3445","武漢","重慶","17:35","白飛","男"},</p><p> {44,"KS3256","武漢","南寧","10:00","吳迪","男&qu
83、ot;},</p><p> {45,"MZ5431","武漢","杭州","18:00","劉月","女"},</p><p> {46,"KS3256","武漢","南寧","10:00&quo
84、t;,"江明","男"},</p><p> {47,"MZ5431","武漢","杭州","18:00","郭輝","男"},</p><p> {48,"MZ5431","武漢",&q
85、uot;杭州","18:00","朱紅","女"},</p><p> {49,"MZ5431","武漢","杭州","18:00","牛威","男"},</p><p> {50,"MZ
86、5431","武漢","杭州","18:00","馬輝","男"},</p><p><b> };</b></p><p><b> int i=0;</b></p><p> for(i=0;i<5
87、0;i++)</p><p><b> {</b></p><p> x[i]=a[i];</p><p><b> }</b></p><p><b> FILE *fp;</b></p><p> TICKETS *p=x;</p&g
88、t;<p> fp=fopen("tickets.txt","w");</p><p> fwrite(p,sizeof(TICKETS),50,fp);</p><p> rewind(fp);</p><p> fclose(fp);</p><p><b> }&
89、lt;/b></p><p> void search1()//查詢航班信息模塊</p><p><b> {</b></p><p> system("cls");</p><p> menu1(); //顯示子菜單</p
90、><p> int choice1;</p><p><b> do</b></p><p><b> {</b></p><p> scanf("%d",&choice1);</p><p> switch(choice1)</p&g
91、t;<p><b> {</b></p><p><b> case 1:</b></p><p> search11();</p><p><b> break;</b></p><p><b> case 2:</b></
92、p><p> search12();</p><p><b> break;</b></p><p><b> case 3:</b></p><p> search13();</p><p><b> break;</b></p>
93、<p><b> case 4:</b></p><p> system("cls");</p><p><b> break;</b></p><p><b> default:</b></p><p><b> break;
94、</b></p><p><b> }</b></p><p> }while(choice1!=4);</p><p><b> menu();</b></p><p><b> }</b></p><p> void menu1
95、() //子菜單</p><p><b> {</b></p><p> system("color 9F");</p><p> printf("\t\t***************************************************\n&quo
96、t;</p><p> "\t\t* 航班信息查詢菜單 *\n"</p><p> "\t\t***************************************************\n"</p><p> "\t\t*請(qǐng)選擇:
97、 *\n"</p><p> "\t\t* 1.按航班號(hào)查詢 *\n"</p><p> "\t\t* *\n&q
98、uot;</p><p> "\t\t* 2.按目的地查詢 *\n"</p><p> "\t\t* *\n"</p><p> "\t\t*
99、 3.按起飛時(shí)間查詢 *\n"</p><p> "\t\t* *\n"</p><p> "\t\t* 4.返回上級(jí)菜單 *\n&
100、quot;</p><p> "\t\t***************************************************\n");</p><p><b> }</b></p><p> void search11() //按航班號(hào)查詢航班信息模塊</p>
101、<p><b> {</b></p><p> system("cls");</p><p> char planenum1[7];</p><p> printf("請(qǐng)輸入航班號(hào):\n");</p><p> scanf("%s",pl
102、anenum1);</p><p><b> int i;</b></p><p> int flag=0;</p><p> FILE *fp1;</p><p> PLANES air1[10];</p><p> PLANES *p1=air1;</p><p&
103、gt; fp1=fopen("planes.txt","r");</p><p> fread(p1,sizeof(PLANES),10,fp1);</p><p> rewind(fp1);</p><p> fclose(fp1);</p><p> for(i=0;i<10;i++
104、)</p><p><b> {</b></p><p> if(strcmp(air1[i].planenum,planenum1)==0)</p><p><b> {</b></p><p> system("cls");</p><p>
105、 printf("您所查詢的航班信息為\n\n\n");</p><p> printf("*****************************************************************************\n");</p><p> printf("航班號(hào)\t起始地\t目的地\t起飛時(shí)間\t剩余
106、票數(shù)\t最大載客數(shù)\t票價(jià)\n\n");</p><p> printf("%s\t%s\t%s\t%s\t\t%d\t\t%d\t\t%d\n",air1[i].planenum,air1[i].start,air1[i].destination,air1[i].flytime,air1[i].tickets,air1[i].people,air1[i].price);</
107、p><p> printf("*****************************************************************************\n\n");</p><p> printf("按任意鍵返回上級(jí)菜單\n");</p><p><b> getch();<
108、/b></p><p><b> flag=1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(flag=
109、=0)</p><p><b> {</b></p><p> printf("對(duì)不起,您的輸入有誤,按任意鍵返回上級(jí)菜單\n");</p><p><b> getch();</b></p><p> system("cls");</p>
110、<p><b> menu1();</b></p><p><b> }</b></p><p><b> p1=air1;</b></p><p> fp1=fopen("planes.txt","w");</p><
111、p> fwrite(p1,sizeof(PLANES),10,fp1);</p><p> rewind(fp1);</p><p> fclose(fp1);</p><p> system("cls");</p><p><b> menu1();</b></p>&
112、lt;p><b> }</b></p><p> void search12() //按目的地查詢航班信息模塊</p><p><b> {</b></p><p> system("cls");</p><p> char destin
113、ation1[7];</p><p> printf("請(qǐng)輸入目的地:\n");</p><p> scanf("%s",destination1);</p><p><b> int i;</b></p><p> int flag=0;</p><p
114、> FILE *fp1;</p><p> PLANES air1[10];</p><p> PLANES *p1=air1;</p><p> fp1=fopen("planes.txt","r");</p><p> fread(p1,sizeof(PLANES),10,fp1);
115、</p><p> rewind(fp1);</p><p> fclose(fp1);</p><p> for(i=0;i<10;i++)</p><p><b> {</b></p><p> if(strcmp(air1[i].destination,destination
116、1)==0)</p><p><b> {</b></p><p> system("cls");</p><p> printf("您所查詢的航班信息為\n\n\n");</p><p> printf("****************************
117、*************************************************\n");</p><p> printf("航班號(hào)\t起始地\t目的地\t起飛時(shí)間\t剩余票數(shù)\t最大載客數(shù)\t票價(jià)\n\n");</p><p> printf("%s\t%s\t%s\t%s\t\t%d\t\t%d\t\t%d\n",
118、air1[i].planenum,air1[i].start,air1[i].destination,air1[i].flytime,air1[i].tickets,air1[i].people,air1[i].price);</p><p> printf("***********************************************************************
119、******\n\n");</p><p> printf("按任意鍵返回上級(jí)菜單\n");</p><p><b> getch();</b></p><p><b> flag=1;</b></p><p><b> break;</b>
120、;</p><p><b> }</b></p><p><b> }</b></p><p> if(flag==0)</p><p><b> {</b></p><p> printf("對(duì)不起,您的輸入有誤,按任意鍵回到上級(jí)菜
121、單\n");</p><p><b> getch();</b></p><p> system("cls");</p><p><b> menu1();</b></p><p><b> }</b></p><p&g
122、t;<b> p1=air1;</b></p><p> fp1=fopen("planes.txt","w");</p><p> fwrite(p1,sizeof(PLANES),10,fp1);</p><p> rewind(fp1);</p><p> fclo
123、se(fp1);</p><p> system("cls");</p><p><b> menu1();</b></p><p><b> }</b></p><p> void search13() //按起飛時(shí)間查詢航班信息模塊</p
124、><p><b> {</b></p><p> system("cls");</p><p> char flytime1[7];</p><p> printf("請(qǐng)輸入起飛時(shí)間:\n");</p><p> scanf("%s"
125、;,flytime1);</p><p><b> int i;</b></p><p> int flag=0;</p><p> FILE *fp1;</p><p> PLANES air1[10];</p><p> PLANES *p1=air1;</p><
126、;p> fp1=fopen("planes.txt","r");</p><p> fread(p1,sizeof(PLANES),10,fp1);</p><p> rewind(fp1);</p><p> fclose(fp1);</p><p> for(i=0;i<10;
127、i++)</p><p><b> {</b></p><p> if(strcmp(air1[i].flytime,flytime1)==0)</p><p><b> {</b></p><p> system("cls");</p><p>
128、 printf("您所查詢的航班信息為\n\n\n");</p><p> printf("*****************************************************************************\n");</p><p> printf("航班號(hào)\t起始地\t目的地\t起飛時(shí)間\t剩
129、余票數(shù)\t最大載客數(shù)\t票價(jià)\n\n");</p><p> printf("%s\t%s\t%s\t%s\t\t%d\t\t%d\t\t%d\n",air1[i].planenum,air1[i].start,air1[i].destination,air1[i].flytime,air1[i].tickets,air1[i].people,air1[i].price);<
130、/p><p> printf("*****************************************************************************\n\n");</p><p> printf("按任意鍵返回上級(jí)菜單\n");</p><p><b> getch();<
131、;/b></p><p><b> flag=1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(flag
132、==0)</p><p><b> {</b></p><p> printf("對(duì)不起,您的輸入有誤,按任意鍵回到上級(jí)菜單\n");</p><p><b> getch();</b></p><p> system("cls");</p>
133、;<p><b> menu1();</b></p><p><b> }</b></p><p><b> p1=air1;</b></p><p> fp1=fopen("planes.txt","w");</p><
134、;p> fwrite(p1,sizeof(PLANES),10,fp1);</p><p> rewind(fp1);</p><p> fclose(fp1);</p><p> system("cls");</p><p><b> menu1();</b></p>
135、<p><b> }</b></p><p> void book(int *k,BOOK *q,TICKETS *m) //訂票模塊</p><p><b> {</b></p><p> system("cls");</p><p>
136、char planenum1[7];</p><p><b> int i;</b></p><p> int flag=0;</p><p> BOOK *p2=&q[*k];</p><p> TICKETS *p3=&m[*k];</p><p> q[50].ti
137、cketnum=51;</p><p> FILE *fp1,*fp2,*fp3;</p><p> PLANES air1[10];</p><p> PLANES *p1=air1;</p><p> fp1=fopen("planes.txt","r");</p><p
138、> fread(p1,sizeof(PLANES),10,fp1);</p><p> rewind(fp1);</p><p> fclose(fp1);</p><p> printf("\t*******************************************************************\n"
139、;);</p><p> printf("\t航班號(hào)\t起始地\t目的地\t起飛時(shí)間\t剩余票數(shù)\t最大載客數(shù)\n");</p><p> for(i=0;i<10;i++)</p><p><b> {</b></p><p> printf("\t%s\t%s\t%s\t%
140、s\t\t%d\t\t%d\n",air1[i].planenum,air1[i].start,air1[i].destination,air1[i].flytime,air1[i].tickets,air1[i].people);</p><p><b> }</b></p><p> printf("\t******************
141、*************************************************\n");</p><p> printf("請(qǐng)輸入您要乘坐的飛機(jī)的航班號(hào)\n");</p><p> scanf("%s",planenum1);</p><p> for(i=0;i<10;i++)<
142、;/p><p><b> {</b></p><p> if(strcmp(air1[i].planenum,planenum1)==0)</p><p><b> {</b></p><p><b> flag=1;</b></p><p> i
143、f(air1[i].tickets==0)</p><p><b> {</b></p><p> printf("對(duì)不起,機(jī)票已售完\n");</p><p> printf("按任意鍵返回上級(jí)菜單\n");</p><p><b> p1=air1;</
144、b></p><p> fp1=fopen("planes.txt","w");</p><p> fwrite(p1,sizeof(PLANES),10,fp1);</p><p> rewind(fp1);</p><p> fclose(fp1);</p><p&
145、gt;<b> getch();</b></p><p> system("cls");</p><p><b> menu();</b></p><p><b> break;</b></p><p><b> }</b>&
146、lt;/p><p><b> else</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入您的姓名\n"); //輸入訂票時(shí)需要的旅客信息</p><p> scanf("%s",q[*k].name);&
147、lt;/p><p> printf("請(qǐng)輸入您的性別\n");</p><p> scanf("%s",q[*k].sex);</p><p> printf("請(qǐng)輸入您的身份證號(hào)\n");</p><p> scanf("%s",q[*k].ID);<
148、/p><p> printf("購票成功!\n");</p><p> printf("機(jī)票編號(hào)為:%d\n",q[*k].ticketnum);</p><p> printf("按任意鍵返回上級(jí)菜單\n");</p><p> strcpy(m[*k].start,air1[
149、i].start);//將信息記錄到機(jī)票信息結(jié)構(gòu)中</p><p> strcpy(m[*k].destination,air1[i].destination); </p><p> strcpy(m[*k].flytime,air1[i].flytime);</p><p> strcpy(m[*k].planenum,air1[i].planenu
150、m);</p><p> strcpy(m[*k].name,q[*k].name);</p><p> strcpy(m[*k].sex,q[*k].sex);</p><p> m[*k].ticketnum=q[*k].ticketnum;</p><p> fp3=fopen("tickets.txt",&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件課程設(shè)計(jì)報(bào)告(飛機(jī)票銷售系統(tǒng))
- 軟件課程設(shè)計(jì)報(bào)告---飛機(jī)票售票系統(tǒng)
- 軟件課程設(shè)計(jì)報(bào)告--飛機(jī)票銷售系統(tǒng)
- 飛機(jī)票銷售系統(tǒng)軟件課程設(shè)計(jì)
- 軟件課程設(shè)計(jì)--c語言程序之飛機(jī)票訂票系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告---民航飛機(jī)票訂票系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)--飛機(jī)票網(wǎng)上預(yù)訂系統(tǒng)概要設(shè)計(jì)
- 飛機(jī)票報(bào)銷管理辦法
- 數(shù)據(jù)庫課程設(shè)計(jì)---飛機(jī)機(jī)票預(yù)訂系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---飛機(jī)機(jī)票預(yù)訂系統(tǒng)
- 軟件工程課程設(shè)計(jì)-機(jī)票預(yù)定系統(tǒng)
- 機(jī)票預(yù)定系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 軟件工程課程設(shè)計(jì)-機(jī)票預(yù)訂系統(tǒng)
- 基于SSH框架的飛機(jī)票分銷管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 機(jī)票預(yù)訂系統(tǒng)課程設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)--機(jī)票預(yù)訂系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 機(jī)票預(yù)訂系統(tǒng)課程設(shè)計(jì)
- 飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 乘客對(duì)飛機(jī)票價(jià)的定價(jià)方法的影響.pdf
- c課程設(shè)計(jì)報(bào)告飛機(jī)訂票系統(tǒng)
評(píng)論
0/150
提交評(píng)論