版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p> 1.系統(tǒng)需求分析0</p><p> 1.1 問題描述0</p><p> 1.2 功能要求0</p><p><b> 2.概要設(shè)計1</b></p><p> 2.1 系統(tǒng)總體設(shè)計1<
2、;/p><p> 2.2 各模塊的功能2</p><p> 2.3 相關(guān)數(shù)據(jù)結(jié)構(gòu)設(shè)計3</p><p><b> 3.詳細設(shè)計4</b></p><p> 3.1 采用C語言定義相關(guān)的數(shù)據(jù)類型4</p><p> 3.2 模塊設(shè)計5</p><p> 3.
3、2.1 主函數(shù)main()5</p><p> 3.2.2 航班信息輸入模塊8</p><p> 3.2.3 航班信息輸入模塊10</p><p> 3.2.4 航班信息輸出模塊11</p><p> 3.2.5 訂票預(yù)約模塊12</p><p> 3.2.6 退票模塊14</p>
4、<p> 3.2.7 航班信息的保存模塊16</p><p> 3.2.8 航班信息的退出模塊17</p><p> 4. 系統(tǒng)調(diào)試17</p><p> 5. 運行結(jié)果18</p><p> 6. 心得體會22</p><p><b> 7. 附錄23</b>&
5、lt;/p><p> 7.1 參考書目23</p><p> 7.2 源程序23</p><p><b> 1.系統(tǒng)需求分析</b></p><p><b> 1.1 問題描述</b></p><p> 假設(shè)某航空公司只有M架飛機,每架飛機每天飛行一趟。通過該系統(tǒng)來
6、實現(xiàn)機票的訂購問題。</p><p><b> 1.2 功能要求</b></p><p> 1、本系統(tǒng)采用一個包含N個數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每趟航班的數(shù)據(jù)結(jié)構(gòu)應(yīng)當(dāng)包括:起飛地、目的地、 航班號、座位數(shù)、座次號碼(包括該航班擁有的全部座次)、座次訂出與否標記、訂座者的姓名和訂座者的身份證號碼。</p><p> 2、本系統(tǒng)顯示這樣的菜單:<
7、;/p><p><b> (1)輸入航班信息</b></p><p><b> (2)輸出航班信息</b></p><p> (3)航班信息的保存</p><p><b> (4)查找航班信息</b></p><p><b> a.顯示空
8、座的數(shù)量</b></p><p><b> b.顯示空座的信息</b></p><p> c.顯示已訂座的信息</p><p><b> d.起飛時間</b></p><p><b> (5)訂票預(yù)約</b></p><p><
9、b> (6)刪除訂票預(yù)約</b></p><p><b> (7)退出系統(tǒng)</b></p><p> 3.本系統(tǒng)成功執(zhí)行菜單的每個信息,選項4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。</p><p> 4.查找航班信息既可按線路查,也可按目的地查。</p><p> 5、在兩次
10、運行之間,數(shù)據(jù)被保存于一個文件里,當(dāng)本程序重新開</p><p> 始的時候,它首先從該文件讀入數(shù)據(jù)</p><p><b> 2.概要設(shè)計</b></p><p> 2.1 系統(tǒng)總體設(shè)計</p><p> 先對程序輸入航班信息,然后就可以對機票信息進行查詢;預(yù)訂;刪除等功能。一般客戶可以使用查詢;訂票;顯示;退
11、票等功能,在訂票時通過查詢找到所要航班號再輸入個人信息預(yù)訂機票,在退票時客戶身份證號碼通過驗證后可以成功退票。總的設(shè)計思路如下圖所示:</p><p> 圖2.1 系統(tǒng)總設(shè)計結(jié)構(gòu)圖</p><p> 2.2 各模塊的功能</p><p> (1)在主菜單界面按1時,進入航班信息輸入模塊輸入所有航班信息。</p><p> (2)在主
12、菜單界面按2時,進入航班信息輸出模塊,客戶可以瀏覽所有的航班信息。</p><p> (3)在主菜單界面按3時,進入查詢模塊,客戶輸入查詢方式就可以查詢到顯示空座的數(shù)量、顯示空座的信息、顯示已訂座的信息、起飛時間等航班的信息。</p><p> (4)在主菜單界面按4時, 進入訂票模塊,客戶訂票時輸入航班號、訂票數(shù)量、客戶姓名、身份證號碼,確定后可以成功訂票。</p>&
13、lt;p> (5)在主菜單界面按5時,進入退票模塊,輸入客戶的航班號和身份證號碼就可以成功退票。</p><p> (6)在主菜單界面按6時,進入信息保存模塊。</p><p> (7)在主菜單界面按7時,退出系統(tǒng)。</p><p> 2.3 相關(guān)數(shù)據(jù)結(jié)構(gòu)設(shè)計</p><p> (1)數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組</p>
14、;<p> (2)數(shù)據(jù)庫結(jié)構(gòu):下表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫。</p><p> struct airplant </p><p><b> {</b></p><p> char start[30];</p><p> char over[30]; </p><p>
15、; char time[20]; </p><p> char airnum[10]; 、</p><p> int lastseatnum; 、</p><p> struct w seats[seatmax];</p><p><b> }</b></p><p><b
16、> 表 2.1</b></p><p> struct w </p><p><b> {</b></p><p> int mark; </p><p> char name[10]; </p><p> int IDca
17、rd[20]; </p><p><b> } </b></p><p><b> 表 2.2</b></p><p><b> 3.詳細設(shè)計</b></p><p> 3.1 采用C語言定義相關(guān)的數(shù)據(jù)類型</p><p> 因為飛機票系統(tǒng)含有
18、各航班的各項數(shù)據(jù)信息,如航班號,航線,飛行時間,余票數(shù)目等必要信息,所以就決定用剛學(xué)不久的結(jié)構(gòu)體數(shù)組來存放航班的各項信息,根據(jù)題目要求定義如下結(jié)構(gòu)體類型:</p><p> #include<stdio.h> //標準輸入、輸出頭文件</p><p> #include<string.h> //包含字符串函數(shù)處理頭文件</p><
19、;p> #include<stdlib.h> //包含動態(tài)存儲與釋放函數(shù)頭文件</p><p> #define airnummax 6 //航班數(shù)最大值</p><p> #define seatmax 18 //座位數(shù)最大值</p><p> struct w //座位信息結(jié)構(gòu)體</p>
20、<p><b> {</b></p><p> int mark; //作為預(yù)定標記,已預(yù)定值為1,未預(yù)定值為0</p><p> char name[10]; //訂票人姓名</p><p> char IDcard[20]; //訂票人身份證號</p><p><b>
21、; };</b></p><p> struct airplant //定義結(jié)構(gòu)體數(shù)值</p><p><b> {</b></p><p> char start[30]; //起始站</p><p> char over[30]; //終點站</p><p>
22、 char time[20]; // 起飛時間</p><p> char airnum[10]; //航班號</p><p> int lastseatnum; //空座數(shù)量</p><p><b> int num;</b></p><p> struct w seats[seatmax]; /
23、/座位信息</p><p> }a[airnummax];</p><p><b> 3.2 模塊設(shè)計</b></p><p> 3.2.1 主函數(shù)main()</p><p> 圖3.1主函數(shù)流程圖</p><p> void main() //主函數(shù)</p>
24、;<p><b> {</b></p><p> int i,zws,js,t;</p><p> for(i=0;i<airnummax;i++)//給座位信息賦初始值,解決二次運行時,讀取錯誤。</p><p><b> {</b></p><p> for(zws
25、=0;zws<seatmax;zws++)</p><p><b> {</b></p><p> a[i].seats[zws].mark=0;</p><p> a[i].seats[zws].name[0]='0';</p><p> a[i].seats[zws].IDcard[0]
26、='0';</p><p><b> }</b></p><p><b> }</b></p><p> FILE *p; //創(chuàng)建文件</p><p> p=fopen("飛機訂票系統(tǒng).dat","r");</p&g
27、t;<p> if(p==NULL)</p><p><b> {js=0;}</b></p><p><b> else</b></p><p><b> {</b></p><p> fscanf(p,"%d",&js);
28、</p><p> for(i=0;i<js;i++)</p><p><b> {</b></p><p> fscanf(p,"%s %s %s %s %d %d",a[i].airnum,a[i].start,a[i].over,a[i].time,&a[i].num,&a[i].lasts
29、eatnum);</p><p> for(zws=0;zws<seatmax;zws++)</p><p> fscanf(p,"%d %s %s",&a[i].seats[zws].mark,a[i].seats[zws].name,a[i].seats[zws].IDcard);</p><p><b> }&
30、lt;/b></p><p> fclose(p);</p><p><b> }</b></p><p><b> while (1)</b></p><p><b> {</b></p><p> printf("
31、 ********************************\n"); //輸出菜單</p><p> printf(" -------請輸入你的選擇: ---------\n");</p><p> printf(" -------1、輸入航班信息:---------\n&qu
32、ot;);</p><p> printf(" -------2、查找航班信息:---------\n");</p><p> printf(" -------3、輸出航班信息:---------\n");</p><p> printf(" -------
33、4、訂票預(yù)約:-------------\n");</p><p> printf(" -------5、刪除訂票預(yù)約:---------\n");</p><p> printf(" -------6、航班信息的保存:-------\n");</p><p> printf
34、(" -------7、退出系統(tǒng):-------------\n");</p><p> printf(" ********************************\n");</p><p> scanf("%d",&t);</p><p> if(
35、t==1) //輸入模塊</p><p><b> { }</b></p><p> else if(t==2) //查詢模塊</p><p><b> { }</b></p><p> else if(t==3) //輸出模塊</p>&
36、lt;p><b> { }</b></p><p> else if(t==4) //訂票預(yù)約模塊</p><p><b> { }</b></p><p> else if(t==5) //刪除訂票預(yù)約</p><p><b> { }</b>
37、</p><p> else if(t==6) //航班信息的保存</p><p><b> { }</b></p><p> else if(t==7) //退出系統(tǒng)</p><p><b> break;</b></p><p><b> el
38、se </b></p><p> printf("對不起,沒有該選項!");</p><p><b> }</b></p><p><b> }</b></p><p> 3.2.2 航班信息輸入模塊</p><p> 圖3.2 航班
39、信息輸出流程圖 </p><p><b> 程序:</b></p><p> if(t==1) //輸入模塊</p><p><b> {</b></p><p> for(i=js;i<airnummax;i++)</p><p><
40、b> {</b></p><p><b> char u;</b></p><p> printf("請輸入航班號的信息\n");</p><p> scanf("%s",a[i].airnum);</p><p> printf("請輸入起始
41、站:"); //讀取起始站</p><p> scanf("%s",a[i].start);</p><p> printf("請輸入終點站:"); //讀取終點站</p><p> scanf("%s",a[i].over);</p><p&
42、gt; printf("請輸入時間:"); //讀取飛機起飛時間</p><p> scanf("%s",a[i].time);</p><p> printf("請輸入座位數(shù)量:"); //讀取座位數(shù)量</p><p> scanf("%d",&am
43、p;a[i].num);</p><p> a[i].lastseatnum=a[i].num;</p><p> printf("\n");</p><p><b> js++; </b></p><p> printf("是否要繼續(xù):Y或N\n"); <
44、;/p><p> scanf("%c",&u);</p><p> scanf("%c",&u);</p><p> if(u!='y' && u!='Y') //判斷是否繼續(xù)</p><p><b> break;<
45、/b></p><p><b> }</b></p><p><b> }</b></p><p> 3.2.3 航班信息輸入模塊</p><p> 圖3.3 查詢航班信息流程圖</p><p><b> 程序:</b></p>
46、;<p> else if(t==2) //查詢模塊</p><p><b> {</b></p><p><b> int n=0;</b></p><p> char h[20];</p><p> printf("請輸入你要找的航班號:\n"
47、);//輸入需要查詢的航班號</p><p> scanf("%s",h);</p><p> for(i=0;i<js;i++)</p><p><b> {</b></p><p> if(strcmp(h,a[i].airnum)==0)</p><p>&
48、lt;b> {</b></p><p> printf("你要找的航班信息如下:\n");</p><p> printf("%s %s %s %s %d %d",a[i].airnum,a[i].start,a[i].over,a[i].time,a[i].num,a[i].lastseatnum);</p>
49、<p> printf("\n");</p><p><b> n=1;</b></p><p><b> break;</b></p><p> } </p><p><b> }</b></p>&l
50、t;p><b> if(n=0)</b></p><p> printf("沒有您要查找的航班!請輸入正確的航班號!");</p><p><b> }</b></p><p> 3.2.4 航班信息輸出模塊</p><p> 圖3.4 航班信息輸出流程圖<
51、/p><p><b> 程序:</b></p><p> else if(t==3) //輸出模塊</p><p><b> {</b></p><p> printf("航班信息如下:\n");</p><p> for(i=0;i<
52、js;i++)</p><p><b> {</b></p><p> printf("起點站: ");printf("%s\n",a[i].start); //輸出起始站</p><p> printf("終點站: ");printf("%s\n",a[i
53、].over); //輸出終點站</p><p> printf("時間: ");printf("%s\n",a[i].time); //輸出起飛時間</p><p> printf("座位數(shù)量: ");printf("%d\n",a[i].num);// 輸出座位數(shù)量</p>&
54、lt;p> printf("空座數(shù)量: ");printf("%d\n",a[i].lastseatnum);//輸出空座數(shù)量</p><p> printf("\n");</p><p><b> }</b></p><p><b> }</b>&
55、lt;/p><p> 3.2.5 訂票預(yù)約模塊</p><p> 圖3.5 訂票預(yù)約流程圖</p><p><b> 程序:</b></p><p> else if(t==4) //訂票預(yù)約模塊</p><p><b> {</b></p><
56、;p><b> int j,xz;</b></p><p> char sf[10];</p><p> printf("輸入要訂票的航班號:");</p><p> scanf("%s",sf); //讀取訂票的航班號</p><p> fo
57、r(i=0;i<js;i++)</p><p><b> {</b></p><p> if(strcmp(sf,a[i].airnum)==0)</p><p><b> {</b></p><p> printf("航班號:%s 起飛時間:%s 起飛地:%s 目的地:%s
58、 座位數(shù)量:%d 空座數(shù)量:%d\n",a[i].airnum,a[i].time,a[i].start,a[i].over,a[i].num,a[i].lastseatnum);</p><p> if(a[i].seats==0)</p><p> printf("對不起!該航班機票已售完。\n");</p><p><b
59、> else</b></p><p><b> {</b></p><p> printf("1.預(yù)訂該航班機票\n2.取消\n");</p><p> scanf("%d",&xz);</p><p> if(xz==1)
60、 </p><p><b> {</b></p><p> for(zws=0;zws<seatmax;zws++)</p><p><b> {</b></p><p> if(a[i].seats[zws].mark==0)</p><p> prin
61、tf("%d ",zws+1);</p><p><b> }</b></p><p> printf("\n");</p><p> printf("請從以上選擇座位號:");</p><p> scanf("%d",&j)
62、;</p><p> printf("\n請輸入訂票人的姓名:");</p><p> scanf("%s",a[i].seats[j-1].name); //讀取姓名</p><p> printf("\n請輸入訂票人的身份證號碼:");</p><p>
63、scanf("%s",a[i].seats[j-1].IDcard); //讀取身份證號碼</p><p> printf("\n訂票成功!訂票信息如下:\n");</p><p> printf("航班號:%s 起飛時間:%s 起飛地:%s 目的地:%s 座位數(shù)量:%d 空座數(shù)量:%d\n",a[i].airnum,a[i
64、].time,a[i].start,a[i].over,a[i].seats,a[i].lastseatnum);</p><p> printf("祝您旅途愉快!");</p><p><b> break;</b></p><p><b> }</b></p><p>
65、<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 3.2.6 退票模塊</p><p> 圖 3.6 退票流程圖&l
66、t;/p><p><b> 程序:</b></p><p> else if(t==5) //刪除訂票預(yù)約</p><p><b> {</b></p><p> char g[10];</p><p> char r[20];</p><p&g
67、t; printf("請輸入你要退訂的航班號:");</p><p> scanf("%s",g);</p><p> printf("輸入退訂人身份證:");</p><p> scanf("%s",r);</p><p> for(i=0;i<
68、js;i++)</p><p><b> {</b></p><p> if(strcmp(g,a[i].airnum)==0)</p><p><b> {</b></p><p> for(zws=0;zws<seatmax;zws++)</p><p>&
69、lt;b> {</b></p><p> if(strcmp(r,a[i].seats[zws].IDcard)==0)</p><p><b> {</b></p><p> a[i].seats[zws].mark=0;</p><p> a[i].lastseatnum++;</p
70、><p><b> }</b></p><p><b> }</b></p><p> printf("操作成功,您已刪除預(yù)訂機票,歡迎再次乘坐。\n");</p><p><b> break;</b></p><p><
71、b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 3.2.7 航班信息的保存模塊</p><p> 圖 3.7 航班信息的保存流程圖</p><p><b> 程序:<
72、/b></p><p> else if(t==6) //航班信息的保存</p><p><b> {</b></p><p><b> FILE *p;</b></p><p> p=fopen("飛機訂票系統(tǒng).dat","w");<
73、;/p><p> fprintf(p,"%d\n",js);</p><p> for(i=0;i<js;i++)</p><p><b> {</b></p><p> fprintf(p,"%s %s %s %s %d %d\n",a[i].airnum,a[i].s
74、tart,a[i].over,a[i].time,a[i].num,a[i].lastseatnum);</p><p> for(zws=0;zws<seatmax;zws++)</p><p> fprintf(p,"%d %s %s\n",a[i].seats[zws].mark,a[i].seats[zws].name,a[i].seats[zws].
75、IDcard);</p><p><b> }</b></p><p> fclose(p);</p><p><b> }</b></p><p> 3.2.8 航班信息的退出模塊</p><p> else if(t==7) //退出系統(tǒng)</p>
76、<p><b> break;</b></p><p><b> 4. 系統(tǒng)調(diào)試</b></p><p> ?。?)程序編寫過程中對函數(shù)調(diào)用不熟悉,子函數(shù)調(diào)用不到位,根據(jù)題設(shè)條件不斷改進才逐步完善。</p><p> (2)結(jié)構(gòu)語句編寫錯誤,不能準確把握在哪里終止,但通過書上的例題可以掌握。</p&
77、gt;<p> ?。?)程序編寫時容易出現(xiàn)一些小錯誤,比如沒有分號、缺了大括號等等,需要編寫完后仔細檢查。</p><p> ?。?)程序運行雖然沒有錯誤,不能達到想要的效果,這時就需要借鑒大家的意見,共同商討最佳的答案。</p><p><b> 5. 運行結(jié)果</b></p><p><b> (1) 主菜單:&
78、lt;/b></p><p><b> 圖5.1 主菜單</b></p><p><b> (2)輸入界面:</b></p><p><b> 圖5.2 輸入界面</b></p><p><b> (3)查找界面:</b></p>
79、<p><b> 圖5.3 查找界面</b></p><p><b> (4)輸出界面:</b></p><p><b> 圖5.4 輸出界面</b></p><p> (5)訂票預(yù)約界面:</p><p> 圖5.5 訂票預(yù)約界面</p>
80、<p> (6)刪除訂票預(yù)約界面:</p><p> 圖5.6 刪除訂票預(yù)約界面</p><p> (7)航班信息保存界面:</p><p> 圖5.7 航班信息保存界面</p><p> (8)退出系統(tǒng)界面:</p><p> 圖5.8 退出系統(tǒng)界面</p><p>&
81、lt;b> 6. 心得體會</b></p><p> 在這為期兩周的C語言課程設(shè)計中,我不敢說我是完全靠自己第能力完成的,有借鑒過,不過我可以說大部分都是自己獨立完成的,當(dāng)然還會通過老師和同學(xué)的幫助,來使這個程序更加完善。在開始做課設(shè)之前,因為已經(jīng)接觸過類似的程序,所以做起來就像對比較簡單些,之前的程序設(shè)計中,我也是憑著自己僅僅知道的一點知識再加上詢問老師和同學(xué),讓我知道了更多有關(guān)于C設(shè)計時
82、的一些知識。</p><p> 通過這次課程設(shè)計,我覺得我對C語言又有了進一步的了解,因為這次課程設(shè)計,我得到了更多的上機操作機會,于此同時我對word文檔的使用也更加熟練了。制作圖表、繪制流程圖、版面的排版等都有了更深一步的了解。而在C語言程序設(shè)計方面呢,則是對VC++6.0這個軟件的操作更加熟練了。不過有一點不太好,就是我不會使用“調(diào)試”這個功能,應(yīng)該說基本上就不懂。再設(shè)計的過程中,我遇到了不少問題,有些因
83、為自己的疏忽,老是缺胳膊少腿的,最后導(dǎo)致程序的無法運行。經(jīng)過一翻整修之后,總算是完成了我想要的程序了。體會到了學(xué)習(xí)編程的辛苦,為了一個算法的實現(xiàn)而思考,為了一個小小的編譯錯誤而花時間去尋找,這需要很大的毅力和耐心,而且要有良好的思維,這才使得我完成這個任務(wù),也使我感到一分喜悅,畢竟自己完成了一個有模有樣的程序。于此,我也發(fā)現(xiàn)自己的一些不足,比如,對讀程序還不夠熟練,對有些語句還沒有掌握,再者,自己在指法上還不行,打字過慢而直接影響閱讀速
84、度,特別是在運行程序時所出現(xiàn)的錯誤很難順利的去找出來并加以糾正,等等。同時,良好的編程習(xí)慣的養(yǎng)成,堅定的毅力和耐心仍是我要加強的,同別人的交流也是必須的,這樣才能不斷使我進步。通</p><p><b> 7. 附錄</b></p><p><b> 7.1 參考書目</b></p><p> [1]譚浩強著.C程序
85、設(shè)計(第四版).北京:清華大學(xué)出版,2010.6</p><p> [2]譚浩強著.C程序設(shè)計學(xué)習(xí)輔導(dǎo)(第四版).北京:清華大學(xué)出版,2010.6</p><p><b> 7.2 源程序</b></p><p> #include<stdio.h> //標準輸入、輸出頭文件</p><p>
86、 #include<string.h> //包含字符串函數(shù)處理頭文件</p><p> #include<stdlib.h></p><p> #define airnummax 6 //航班數(shù)最大值</p><p> #define seatmax 18 //座位數(shù)最大值</p><p> str
87、uct w //座位信息結(jié)構(gòu)體</p><p><b> {</b></p><p> int mark; //作為預(yù)定標記,已預(yù)定值為1,未預(yù)定值為0</p><p> char name[10]; //訂票人姓名</p><p> char IDcard[20];
88、//訂票人身份證號</p><p><b> };</b></p><p> struct airplant //定義結(jié)構(gòu)體數(shù)值</p><p><b> {</b></p><p> char start[30]; //起始站</p><p> char
89、over[30]; //終點站</p><p> char time[20]; // 起飛時間</p><p> char airnum[10]; //航班號</p><p> int lastseatnum; //空座數(shù)量</p><p><b> int num;</b></p>&l
90、t;p> struct w seats[seatmax]; //座位信息</p><p> }a[airnummax];</p><p> void main() //主函數(shù)</p><p><b> {</b></p><p> int i,zws,js,t;</p>
91、<p> for(i=0;i<airnummax;i++)//給座位信息賦初始值,解決二次運行時,讀取錯誤。</p><p><b> {</b></p><p> for(zws=0;zws<seatmax;zws++)</p><p><b> {</b></p><
92、p> a[i].seats[zws].mark=0;</p><p> a[i].seats[zws].name[0]='0';</p><p> a[i].seats[zws].IDcard[0]='0';</p><p><b> }</b></p><p><b&
93、gt; }</b></p><p> FILE *p; //創(chuàng)建文件</p><p> p=fopen("飛機訂票系統(tǒng).dat","r");</p><p> if(p==NULL)</p><p><b> {js=0;}</b></p&g
94、t;<p><b> else</b></p><p><b> {</b></p><p> fscanf(p,"%d",&js);</p><p> for(i=0;i<js;i++)</p><p><b> {</b&
95、gt;</p><p> fscanf(p,"%s %s %s %s %d %d",a[i].airnum,a[i].start,a[i].over,a[i].time,&a[i].num,&a[i].lastseatnum);</p><p> for(zws=0;zws<seatmax;zws++)</p><p>
96、 fscanf(p,"%d %s %s",&a[i].seats[zws].mark,a[i].seats[zws].name,a[i].seats[zws].IDcard);</p><p><b> }</b></p><p> fclose(p);</p><p><b> }</b&g
97、t;</p><p><b> while (1)</b></p><p><b> {</b></p><p> printf(" ********************************\n"); //輸出菜單</p><p> printf(&
98、quot; -------請輸入你的選擇: ---------\n");</p><p> printf(" -------1、輸入航班信息:---------\n");</p><p> printf(" -------2、查找航班信息:---------\n");</p&g
99、t;<p> printf(" -------3、輸出航班信息:---------\n");</p><p> printf(" -------4、訂票預(yù)約:-------------\n");</p><p> printf(" -------5、刪除訂票預(yù)約:--
100、-------\n");</p><p> printf(" -------6、航班信息的保存:-------\n");</p><p> printf(" -------7、退出系統(tǒng):-------------\n");</p><p> printf("
101、 ********************************\n");</p><p> scanf("%d",&t);</p><p> if(t==1) //輸入模塊</p><p><b> {</b></p><p> for(i=js;
102、i<airnummax;i++)</p><p><b> {</b></p><p><b> char u;</b></p><p> printf("請輸入航班號的信息\n");</p><p> scanf("%s",a[i].airnu
103、m);</p><p> printf("請輸入起始站:"); //讀取起始站</p><p> scanf("%s",a[i].start);</p><p> printf("請輸入終點站:"); //讀取終點站</p><p> scanf(
104、"%s",a[i].over);</p><p> printf("請輸入時間:"); //讀取飛機起飛時間</p><p> scanf("%s",a[i].time);</p><p> printf("請輸入座位數(shù)量:"); //讀取座位數(shù)量<
105、;/p><p> scanf("%d",&a[i].num);</p><p> a[i].lastseatnum=a[i].num;</p><p> printf("\n"); js++;</p><p> printf("是否要繼續(xù):Y或N\n"); &
106、lt;/p><p> scanf("%c",&u);</p><p> scanf("%c",&u);</p><p> if(u!='y' && u!='Y') //判斷是否繼續(xù)</p><p><b> break;&l
107、t;/b></p><p><b> }</b></p><p><b> }</b></p><p> else if(t==2) //查詢模塊</p><p><b> {</b></p><p> int n=0; cha
108、r h[20];</p><p> printf("請輸入你要找的航班號:\n");//輸入需要查詢的航班號</p><p> scanf("%s",h);</p><p> for(i=0;i<js;i++)</p><p><b> {</b></p>
109、<p> if(strcmp(h,a[i].airnum)==0)</p><p><b> {</b></p><p> printf("你要找的航班信息如下:\n");</p><p> printf("%s %s %s %s %d %d",a[i].airnum,a[i].st
110、art,a[i].over,a[i].time,a[i].num,a[i].lastseatnum);</p><p> printf("\n");</p><p><b> n=1;</b></p><p><b> break;</b></p><p> }
111、 </p><p><b> }</b></p><p><b> if(n=0)</b></p><p> printf("沒有您要查找的航班!請輸入正確的航班號!");</p><p><b> }</b></p><
112、;p> else if(t==3) //輸出模塊</p><p><b> {</b></p><p> printf("航班信息如下:\n");</p><p> for(i=0;i<js;i++)</p><p><b> {</b></p
113、><p> printf("起點站: ");printf("%s\n",a[i].start); //輸出起始站</p><p> printf("終點站: ");printf("%s\n",a[i].over); //輸出終點站</p><p> printf("時間
114、: ");printf("%s\n",a[i].time); //輸出起飛時間</p><p> printf("座位數(shù)量: ");printf("%d\n",a[i].num);// 輸出座位數(shù)量</p><p> printf("空座數(shù)量: ");printf("%d\n&q
115、uot;,a[i].lastseatnum);//輸出空座數(shù)量</p><p> printf("\n");</p><p><b> }</b></p><p><b> }</b></p><p> else if(t==4) //訂票預(yù)約模塊</p>
116、;<p><b> {</b></p><p> int j,xz; char sf[10];</p><p> printf("輸入要訂票的航班號:");</p><p> scanf("%s",sf); //讀取訂票的航班號</p><
117、;p> for(i=0;i<js;i++)</p><p><b> {</b></p><p> if(strcmp(sf,a[i].airnum)==0)</p><p><b> {</b></p><p> printf("航班號:%s 起飛時間:%s 起飛地
118、:%s 目的地:%s 座位數(shù)量:%d 空座數(shù)量:%d\n",a[i].airnum,a[i].time,a[i].start,a[i].over,a[i].num,a[i].lastseatnum);</p><p> if(a[i].seats==0)</p><p> printf("對不起!該航班機票已售完。\n");</p><
119、p><b> else</b></p><p><b> {</b></p><p> printf("1.預(yù)訂該航班機票\n2.取消\n");</p><p> scanf("%d",&xz);</p><p> if(xz==1)
120、 </p><p><b> {</b></p><p> for(zws=0;zws<seatmax;zws++)</p><p><b> {</b></p><p> if(a[i].seats[zws].mark==0)</p><p
121、> printf("%d ",zws+1);</p><p><b> }</b></p><p> printf("\n");</p><p> printf("請從以上選擇座位號:");</p><p> scanf("%d&quo
122、t;,&j);</p><p> printf("\n請輸入訂票人的姓名:");</p><p> scanf("%s",a[i].seats[j-1].name); //讀取姓名</p><p> printf("\n請輸入訂票人的身份證號碼:");</p>&
123、lt;p> scanf("%s",a[i].seats[j-1].IDcard); //讀取身份證號碼</p><p> printf("\n訂票成功!訂票信息如下:\n");</p><p> printf("航班號:%s 起飛時間:%s 起飛地:%s 目的地:%s 座位數(shù)量:%d 空座數(shù)量:%d\n",a[i].
124、airnum,a[i].time,a[i].start,a[i].over,a[i].seats,a[i].lastseatnum);</p><p> printf("祝您旅途愉快!");</p><p><b> break;</b></p><p><b> }</b></p>
125、<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> else if(t==5)</p><p>&l
126、t;b> {</b></p><p> char g[10];</p><p> char r[20];</p><p> printf("請輸入你要退訂的航班號:");</p><p> scanf("%s",g);</p><p> printf
127、("輸入退訂人身份證:");</p><p> scanf("%s",r);</p><p> for(i=0;i<js;i++)</p><p><b> {</b></p><p> if(strcmp(g,a[i].airnum)==0)</p>
128、<p><b> {</b></p><p> for(zws=i;zws<js-1;zws++)</p><p><b> {</b></p><p> a[i].seats[zws].mark=0;</p><p> a[zws].lastseatnum++; &
129、lt;/p><p><b> }</b></p><p> printf("操作成功,您已刪除預(yù)訂機票,歡迎再次乘坐。\n");</p><p><b> break;</b></p><p><b> }</b></p><p>
130、;<b> }</b></p><p><b> }</b></p><p> else if(t==6)</p><p><b> {</b></p><p><b> FILE *p;</b></p><p> p
131、=fopen("飛機訂票系統(tǒng).dat","w");</p><p> fprintf(p,"%d\n",js);</p><p> for(i=0;i<js;i++)</p><p><b> {</b></p><p> fprintf(p,&q
132、uot;%s %s %s %s %d %d\n",a[i].airnum,a[i].start,a[i].over,a[i].time,a[i].num,a[i].lastseatnum);</p><p> for(zws=0;zws<seatmax;zws++)</p><p> fprintf(p,"%d %s %s\n",a[i].seats
133、[zws].mark,a[i].seats[zws].name,a[i].seats[zws].IDcard);</p><p><b> }</b></p><p> fclose(p);</p><p><b> }</b></p><p> else if(t==7)</p>
134、;<p><b> break;</b></p><p><b> else </b></p><p> printf("對不起,沒有該選項!");</p><p><b> }</b></p><p><b> }<
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言飛機訂票系統(tǒng)設(shè)計
- c語言課程設(shè)計——飛機訂票系統(tǒng)
- c語言課程設(shè)計---飛機訂票系統(tǒng)
- c語言課程設(shè)計--飛機訂票系統(tǒng)
- c語言課程設(shè)計——飛機訂票系統(tǒng)
- c語言飛機訂票系統(tǒng)課程設(shè)計
- 飛機訂票系統(tǒng)c語言課程設(shè)計
- c語言課程設(shè)計報告飛機訂票系統(tǒng)
- c語言課程設(shè)計報告飛機訂票系統(tǒng)
- c語言課程設(shè)計(飛機訂票系統(tǒng)說明書)
- c語言課程設(shè)計——飛機訂票系統(tǒng)說明書
- c語言課程設(shè)計報告---民航飛機票訂票系統(tǒng)設(shè)計
- c課程設(shè)計報告飛機訂票系統(tǒng)
- 軟件課程設(shè)計--c語言程序之飛機票訂票系統(tǒng)
- c++課程設(shè)計——飛機訂票系統(tǒng)
- c++課程設(shè)計報告--飛機訂票系統(tǒng)
- c++課程設(shè)計報告---飛機訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計c語言版飛機 訂票 系統(tǒng)資料
- c++課程設(shè)計報告---飛機訂票系統(tǒng)
- c++課程設(shè)計報告飛機訂票管理系統(tǒng)
評論
0/150
提交評論