版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p><b> (C語言程序設(shè)計(jì))</b></p><p> 題目 車票信息管理系統(tǒng) </p><p> 的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 二級學(xué)院 數(shù)學(xué)與統(tǒng)計(jì)
2、 </p><p> 專 業(yè) 信息與計(jì)算科學(xué) </p><p> 班 級 </p><p> 學(xué)生姓名 </p><p> 學(xué) 號
3、 </p><p> 指導(dǎo)教師 </p><p> 時 間 </p><p><b> 1 需求分析</b></p><p> 1.1 課程設(shè)計(jì)題目</p>&
4、lt;p> 要求設(shè)計(jì)并實(shí)現(xiàn)一個車票銷售管理系統(tǒng),系統(tǒng)實(shí)現(xiàn)以下功能。</p><p> 系統(tǒng)以菜單方式工作:要求界面清晰,友好,美觀,易用。</p><p> 車次信息導(dǎo)入功能:要求可從磁盤文件導(dǎo)入車次信息。</p><p> 查詢功能:可按班車號、起點(diǎn)站或終點(diǎn)站查找班車信息,并將查詢結(jié)果輸出。</p><p> 售票功能:只有
5、當(dāng)某班車已定票人數(shù)小于額定載量,且當(dāng)前系統(tǒng)時間小于發(fā)車時間才能售票。售票顯示收費(fèi)信息;售票后更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。</p><p> 退票功能:輸入退票的班次,當(dāng)本班車未發(fā)出時才能退票。退票后自動更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。</p><p> 信息瀏覽功能:能輸出所有班車的信息;要求輸出格式清晰、美觀。</p><p> 信息修改:要求能修改某一
6、指定班次的信息,并在修改后將信息存盤。</p><p> 1.2 系統(tǒng)功能需求</p><p> 系統(tǒng)以菜單方式工作:要求界面清晰,友好,美觀,易用。</p><p> 車次信息導(dǎo)入功能:要求可從磁盤文件導(dǎo)入車次信息。</p><p> 查詢功能:可按班車號、起點(diǎn)站或終點(diǎn)站查找班車信息,并將查詢結(jié)果輸出。</p><
7、;p> 售票功能:只有當(dāng)某班車已定票人數(shù)小于額定載量,且當(dāng)前系統(tǒng)時間小于發(fā)車時間才能售票。售票顯示收費(fèi)信息;售票后更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。</p><p> 退票功能:輸入退票的班次,當(dāng)本班車未發(fā)出時才能退票。退票后自動更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。</p><p> 信息瀏覽功能:能輸出所有班車的信息;要求輸出格式清晰、美觀。</p><p>
8、; 信息修改:要求能修改某一指定班次的信息,并在修改后將信息存盤。</p><p><b> 2 系統(tǒng)設(shè)計(jì)</b></p><p><b> 2.1 功能模塊圖</b></p><p> 本系統(tǒng)的功能模塊圖如圖2-1所示。</p><p> 圖2-1 系統(tǒng)功能模塊圖</p>
9、<p><b> 2.2 數(shù)據(jù)定義</b></p><p> 本系統(tǒng)的數(shù)據(jù)可采用結(jié)構(gòu)數(shù)組來處理。可必要的設(shè)置全局變量。因此本系統(tǒng)的主要數(shù)據(jù)定義如下:</p><p> struct Train_Ticket</p><p><b> {</b></p><p> char cn[
10、15]; //車量班次</p><p> char lp[15]; //left place 起點(diǎn)</p><p> char ap[15]; //arrive place 終點(diǎn)</p><p> char lt[15]; //left time 發(fā)車時間</p><p> char rt[
11、15]; //running time 行車時間</p><p> float price; // 票價(jià)</p><p> int rl; //Rated load 額定載量</p><p> int bn; //booking number 已定票人數(shù)</p>
12、;<p><b> }T[N];</b></p><p> int n=0,i=0;// 全局變量</p><p> 2.3 關(guān)鍵技術(shù)分析</p><p> ?、?在程序開始運(yùn)行時,應(yīng)調(diào)用自定義的INPUT()函數(shù),將所有需要的數(shù)據(jù)導(dǎo)入到結(jié)構(gòu)數(shù)組中,然后保存。</p><p> ?、?調(diào)用load(
13、)函數(shù),從磁盤導(dǎo)入車票信息。由于第一次應(yīng)用INPUT()函數(shù)磁盤中已有數(shù)據(jù),因此不必要再進(jìn)行重新導(dǎo)入,所以在INPUT()函數(shù)中先詢問是否重新導(dǎo)入,然后再進(jìn)入主菜單,或者在調(diào)用一次后,以后運(yùn)行時不再調(diào)用。</p><p> ?、?.買票和退票都涉及到時間的問題,這源于要比較發(fā)車時間與當(dāng)前的時間,判斷這班車到底有沒有發(fā)車,和能不能訂票與退票,這時用了一個時間函數(shù),輸出了當(dāng)前的時間,但那邊有年月日,不好進(jìn)行提取和比較
14、,于是采用輸出了時間,然后看著那個時間手動的提取。</p><p> ⑷ 系統(tǒng)中應(yīng)編寫存盤函數(shù)save(),在進(jìn)行買票或者退票功能后都需要調(diào)用save()函數(shù)進(jìn)行數(shù)據(jù)的更新。</p><p> ?、?采用循環(huán)結(jié)構(gòu)生成主菜單,在數(shù)據(jù)輸入時應(yīng)該有清晰的提示信息,以方便用戶的操作,對輸出數(shù)據(jù)進(jìn)行格式控制,以使界面更加美觀,清晰。</p><p><b> 3
15、 系統(tǒng)實(shí)現(xiàn)</b></p><p> 3.1 功能模塊設(shè)計(jì)</p><p> 根據(jù)系統(tǒng)分析的結(jié)論,將本系統(tǒng)需完成的功能模塊劃分如下:</p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #inclu
16、de<string.h></p><p> #include<conio.h></p><p> #include<time.h></p><p> #define N 4</p><p> void main_menu(); //主菜單模塊</p><p> v
17、oid load(); //導(dǎo)入信息</p><p> void INPUT(); //輸入模塊</p><p> void scan(); //瀏覽模塊</p><p> void tuipiao(); //退票</p
18、><p> void buy(); //買票</p><p> void change(); //修改函數(shù)</p><p> void save(); //保存函數(shù)</p><p> void prna(int pos
19、); //打印記錄</p><p> void searchmenu(); //查詢菜單函數(shù)</p><p> int s_cn(); //按班次查詢</p><p> int s_lp(); //按起點(diǎn)站查詢
20、</p><p> int s_ap(); //按終點(diǎn)站查詢</p><p> struct Train_Ticket</p><p><b> {</b></p><p> char cn[15]; //車量班次</p><p>
21、char lp[15]; //left place 起點(diǎn)</p><p> char ap[15]; //arrive place 終點(diǎn)</p><p> char lt[15]; //left time 發(fā)車時間</p><p> char rt[15]; //running time 行車時間</p&g
22、t;<p> int price; // 票價(jià)</p><p> int rl; //Rated load 額定載量</p><p> int bn; //booking number 已定票人數(shù)</p><p><b> }T[N];</b>&
23、lt;/p><p> int n=0,i=0;// 全局變量</p><p><b> 3.2 源代碼</b></p><p> //********************************************************</p><p><b> //主菜單</b>&
24、lt;/p><p> //********************************************************</p><p> void main_menu()</p><p><b> {</b></p><p> system("cls");</p>
25、<p> system("color E");</p><p> printf("**********************************************************************\n");</p><p> printf("*************************歡迎來
26、到車票查詢系統(tǒng)*************************");</p><p> printf("\n");</p><p> printf("| ★★★ 1: 進(jìn)入班次瀏覽 ★★★ |\n");</p><p> printf(
27、"| ★★★ 2: 進(jìn)入查詢班次 ★★★ |\n");</p><p> printf("| ★★★ 3: 售票 ★★★ |\n");</p><p> printf("|
28、 ★★★ 4: 退票 ★★★ |\n");</p><p> printf("| ★★★ 5: 班次信息修改 ★★★ |\n");</p><p> printf("|
29、 ★★★ 0: 退出 ★★★ |\n");</p><p> printf("***********************************************************************\n");</p><p> printf("\n請選擇
30、(0-5):☆☆☆");</p><p><b> }</b></p><p> void load() //從磁盤文件導(dǎo)入班次信息</p><p><b> {</b></p><p><b> int i;</b></p><p>
31、;<b> FILE *fp;</b></p><p> if((fp=fopen("c:車票管理系統(tǒng).dat","rb"))==NULL)</p><p><b> {</b></p><p> printf("文件打開錯誤\n");</p>
32、<p><b> exit(0);</b></p><p><b> }</b></p><p> for(i=0;i<N;i++)</p><p> fread(&T[i],sizeof(struct Train_Ticket),1,fp); </p><p
33、> fclose(fp); </p><p> system("cls"); </p><p><b> }</b></p><p> void save() //將班次信息保存到磁盤文件</p><p><b> { </b></p
34、><p><b> FILE *fp;</b></p><p> if((fp=fopen("c:車票管理系統(tǒng).dat","wb"))==NULL) </p><p><b> {</b></p><p> printf("無法創(chuàng)建文件
35、!\n\n"); </p><p><b> exit(0);</b></p><p><b> } </b></p><p> for(i=0;i<N;i++)</p><p> fwrite(&T[i],sizeof(struct Train_Tick
36、et),1,fp); </p><p> fclose(fp);</p><p><b> }</b></p><p> int time() //當(dāng)前系統(tǒng)時間</p><p><b> {</b></p><p> s
37、truct tm *f;</p><p> time_t now;</p><p> now=time(NULL);</p><p> time(&now);</p><p> f=gmtime(&now);</p><p> printf(ctime(&now));</p>
38、;<p><b> return 0;</b></p><p> } </p><p> void scan()</p><p><b> {</b></p><p> system("cls"); /*清屏*/<
39、;/p><p> printf("\n ===========================================================================\n");</p><p> printf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n&quo
40、t;);</p><p> for(i=0;i<N;i++) </p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[i].cn,T[i].rl,T[i].lp,T[i].ap,T[i].lt,T[i].rt,T[i].price,T[i].bn);</p>&l
41、t;p> printf(" ===========================================================================\n");</p><p> printf("請按任意鍵返回主菜單\n");</p><p><b> getch();</b><
42、/p><p><b> }</b></p><p> void INPUT() //鍵入所有信息</p><p><b> {</b></p><p><b> char ch;</b></p><p><b> do</b&
43、gt;</p><p><b> { </b></p><p> system("cls"); </p><p> printf("\n\n ====================歡迎進(jìn)入 錄入汽車時刻信息 界面====================\n")
44、; </p><p><b> do</b></p><p><b> {</b></p><p> printf("\n 新建汽車信息?(y/n) ");</p><p> scanf("%
45、c",&ch);</p><p> if(ch!='y'&&ch!='n')</p><p> printf("輸入錯誤,請重新輸入!!!"); </p><p> }while(ch!='y'&&
46、ch!='n');</p><p> if(ch=='n')</p><p> break; </p><p> printf(" ---------------------");</p><p> printf("\n 錄入第%d趟列車信息\n&
47、quot;,n+1);</p><p> printf(" 車次 ");</p><p> fflush(stdin); </p><p> gets(T[i].cn);</p><p> printf(" 額定載量 ");</p>
48、<p> fflush(stdin);</p><p> scanf("%d",&T[i].rl);</p><p> printf(" 起點(diǎn) ");</p><p> fflush(stdin);</p><p> gets(T[i].lp);</
49、p><p> printf(" 終點(diǎn) ");</p><p> fflush(stdin);</p><p> gets(T[i].ap); </p><p> printf(" 開車時間 ");</p><p> fflush(st
50、din);</p><p> gets(T[i].lt);</p><p> printf(" 行車時間 ");</p><p> fflush(stdin);</p><p> gets(T[i].rt);</p><p> printf(" 票價(jià)
51、 ");</p><p> fflush(stdin);</p><p> scanf("%f",&T[i].price);</p><p> printf(" 已定票人數(shù) ");</p><p> fflush(stdin);</p>
52、<p> scanf("%d",&T[i].bn);</p><p><b> n++;</b></p><p> i++; </p><p> }while(i<N);</p><p><b> save(
53、);</b></p><p> system("cls");</p><p><b> }</b></p><p> void prna(int pos) // 打印一條記錄</p><p><b> {</b>
54、</p><p> printf("\n ===========================================================================\n");</p><p> printf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n&quo
55、t;);</p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[pos].cn,T[pos].rl,T[pos].lp,T[pos].ap,T[pos].lt,T[pos].rt,T[pos].price,T[pos].bn);</p><p> printf(" ==================
56、=========================================================\n");</p><p><b> }</b></p><p> void searchmenu() // 查詢主菜單</p><p><b>
57、 {</b></p><p> system("cls"); </p><p> printf("\n\n ====================歡迎進(jìn)入 查詢汽車時刻信息 界面====================\n");</p><p> printf("\
58、n ++++++++++++++++++請選擇查找方式++++++++++++++++++\n\n"); </p><p> printf("| ★★★ 1: 按班次查詢 ★★★ |\n");</p><p> printf("
59、| ★★★ 2: 按起點(diǎn)站查詢 ★★★ |\n");</p><p> printf("| ★★★ 3: 進(jìn)終點(diǎn)站查詢 ★★★ |\n");</p><p> printf("|
60、 ★★★ 4: 返回主菜單 ★★★ |\n");</p><p> printf("***********************************************************************\n");</p><p> printf("\n請選擇(1
61、-4):☆☆☆");</p><p><b> }</b></p><p> int s_cn() //按班次查詢</p><p><b> {</b></p><p> char name1[15];</p><p
62、><b> int j;</b></p><p> system("cls");</p><p> printf("請輸入要查詢的班次號:\n ");</p><p> fflush(stdin);</p><p> gets(name1);</p>
63、<p> for(j=0;j<N;j++)</p><p><b> {</b></p><p> if(strcmp(T[j].cn,name1)==0)</p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[j].cn,T[j].rl,T[j].
64、lp,T[j].ap,T[j].lt,T[j].rt,T[j].price,T[j].bn);continue;</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> return 1;</b></p><p&g
65、t;<b> }</b></p><p> int s_lp() //按起點(diǎn)站查詢</p><p><b> {</b></p><p> char name2[15];</p><p><b> int j;</b></p>
66、<p> system("cls");</p><p> printf("請輸入要查詢的起點(diǎn)站名: \n");</p><p> fflush(stdin);</p><p> gets(name2);</p><p> for(j=0;j<N;j++)</p>
67、<p><b> {</b></p><p> if(strcmp(T[j].lp,name2)==0)</p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[j].cn,T[j].rl,T[j].lp,T[j].ap,T[j].lt,T[j].rt,T[j].price,T[
68、j].bn);continue;</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> return 1;</b></p><p><b> }</b></p><
69、p> int s_ap() //按終點(diǎn)站查詢</p><p><b> {</b></p><p> char name3[15];</p><p><b> int j;</b></p><p> system(&quo
70、t;cls");</p><p> printf("請輸入要查詢的終點(diǎn)站名: \n");</p><p> fflush(stdin);</p><p> gets(name3);</p><p> for(j=0;j<N;j++)</p><p><b> {&
71、lt;/b></p><p> if(strcmp(T[j].ap,name3)==0)</p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[j].cn,T[j].rl,T[j].lp,T[j].ap,T[j].lt,T[j].rt,T[j].price,T[j].bn);continue;</p&g
72、t;<p><b> return 0;</b></p><p><b> }</b></p><p><b> return 1;</b></p><p><b> }</b></p><p> void search()
73、 //查詢函數(shù)</p><p><b> {</b></p><p> int select;</p><p><b> int n;</b></p><p><b> while(1)</b></p><p><b&
74、gt; {</b></p><p> searchmenu();</p><p> scanf("%d",&select);</p><p> switch(select)</p><p><b> {</b></p><p> case 1:
75、n=s_cn();</p><p><b> if(n)</b></p><p> printf("沒找到相關(guān)記錄\n");printf("按任意鍵返回\n");getch();</p><p><b> break;</b></p><p> cas
76、e 2: n=s_lp();</p><p><b> if(n)</b></p><p> printf("沒有找到相關(guān)記錄\n");printf("按任意鍵返回\n");getch();</p><p><b> break;</b></p><p>
77、; case 3: n=s_ap();</p><p><b> if(n)</b></p><p> printf("沒有找到相關(guān)記錄\n");printf("按任意鍵返回\n");getch();</p><p><b> break;</b></p>&
78、lt;p><b> }</b></p><p> if(select==4)</p><p><b> {</b></p><p> break;main_menu();</p><p><b> }</b></p><p><b&
79、gt; }</b></p><p><b> }</b></p><p> void buy() //買票</p><p><b> {</b></p><p> system("cls");</p><p&
80、gt; int m,log;</p><p> char t[10];</p><p> printf("請輸入您需要購買票的班次(1-4):\n");</p><p> scanf("%d",&m);</p><p><b> load();</b></p
81、><p> printf("\n ===========================================================================\n");</p><p> printf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n")
82、; </p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[m-1].cn,T[m-1].rl,T[m-1].lp,T[m-1].ap,T[m-1].lt,T[m-1].rt,T[m-1].price,T[m-1].bn);</p><p> printf(" =====
83、======================================================================\n");</p><p> if(T[m-1].bn>=T[m-1].rl)</p><p><b> {</b></p><p> printf("該班次票已滿!請選擇其
84、他班次\n");</p><p> printf("按任意鍵返回\n");</p><p><b> }</b></p><p> if(T[m-1].bn<T[m-1].rl)</p><p><b> {</b></p><p>
85、; printf("當(dāng)前時間為:\n");</p><p><b> time();</b></p><p> printf("\n");</p><p> printf("請?jiān)偈謩虞斎肷鲜鰰r間,只需要輸入時辰與分鐘(例如 08:00): \n");</p
86、><p> scanf("%s",t);</p><p> printf("\n");</p><p> if(strcmp(t,T[m-1].lt)>0)</p><p> printf("該班次已發(fā)車,請選擇其他班次\n");</p><p>
87、 else if(T[m-1].bn==T[m-1].rl)</p><p> printf("該班次未發(fā)車但是該班次票已售完\n");</p><p> if (T[m-1].bn!=T[m-1].rl&&strcmp(t,T[m-1].lt)<0&&T[m-1].bn<T[m-1].rl)</p><
88、;p><b> {</b></p><p> printf("該班次還可訂%d票\n",(T[m-1].rl-T[m-1].bn));</p><p> printf("請輸入您要訂票數(shù)量");</p><p> scanf("%d",&log);<
89、/p><p> printf("\n");</p><p> while(log>(T[m-1].rl-T[m-1].bn))</p><p><b> {</b></p><p> printf("訂票錯誤,數(shù)量不能超過余票數(shù)!!!\n");</p>&l
90、t;p> printf("請重新輸入:");</p><p> scanf("%d",&log);</p><p><b> }</b></p><p> if(log<=(T[m-1].rl-T[m-1].bn)) {printf("一共需要%d元\n",
91、log*T[m-1].price);printf("訂票成功,祝您旅途愉快!\n");}</p><p><b> }</b></p><p> T[m-1].bn+=log;</p><p> printf("按任意鍵返回主菜單\n");getchar();</p><p>
92、;<b> }</b></p><p><b> save();</b></p><p><b> }</b></p><p> void tuipiao()//退票</p><p><b> {</b></p><p>
93、 system("cls");</p><p> int x,log;</p><p> char t[10];</p><p> printf("請輸入您要退票的班次: \n");</p><p> scanf("%d",&x);</p><
94、p> i=x;int m=i;</p><p><b> load();</b></p><p> printf("\n ===========================================================================\n");</p><p> pri
95、ntf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[m-1].cn,T[m-1].rl,T[m-1].lp,T[m-1].ap,T[m-1].lt,T[m-
96、1].rt,T[m-1].price,T[m-1].bn);</p><p> printf(" ===========================================================================\n");</p><p> printf("當(dāng)前時間為:\n");</p>&l
97、t;p><b> time();</b></p><p> printf("\n");</p><p> printf("請?jiān)偈謩虞斎肷鲜鰰r間,只需要輸入時辰與分鐘(例如 08:00): \n");</p><p> scanf("%s",t);</
98、p><p> if(strcmp(T[i-1].lt,t)>0)</p><p><b> { </b></p><p> printf("可以退票\n");</p><p> printf("請問你真的要退票嗎? \n");</p><p>
99、 printf("確認(rèn)退票請按1,否則返回主菜單\n");</p><p> scanf("%d",&log);</p><p> if(log==1)</p><p><b> {</b></p><p> printf("退票成功!\n");
100、</p><p> T[i-1].bn--;</p><p> save();printf("按任意鍵返回主菜單\n");getch();</p><p><b> }</b></p><p><b> else</b></p><p><b
101、> {</b></p><p> printf("您選擇不退票\n");printf("按任意鍵返回主菜單\n");getch();</p><p><b> }</b></p><p> } </p><p> if(strcmp(
102、T[i-1].lt,t)<0)</p><p><b> { </b></p><p> printf("此班次已發(fā)車不能退票!!!\n");</p><p> printf("按任意鍵返回主菜單\n");</p><p><b> getch();<
103、/b></p><p><b> }</b></p><p><b> }</b></p><p> void change()</p><p><b> {</b></p><p> system("cls");&l
104、t;/p><p> int k,select;</p><p> char banci[100];</p><p> char mima[10];//假設(shè)密碼為aaa</p><p> printf("這個是工作人員所進(jìn),請輸入密碼:\n");</p><p> scanf("%s&
105、quot;,mima);</p><p> while(strcmp(mima,"aaa")!=0)</p><p><b> {</b></p><p> printf("密碼錯誤!\n");</p><p> printf("請重新輸入:\n");&
106、lt;/p><p> scanf("%s",mima);</p><p><b> }</b></p><p> printf("進(jìn)入成功!\n");</p><p> printf("輸入所要修改班次號:\n");</p><p>
107、 scanf("%s",banci);</p><p> for(k=0;k<N;k++)</p><p><b> {</b></p><p> if(strcmp(T[k].cn,banci)==0)</p><p><b> break;</b></p
108、><p><b> }</b></p><p> printf("\n ===========================================================================\n");</p><p> printf(" 車次 額定載量 起
109、點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);</p><p&
110、gt; printf(" ===========================================================================\n");</p><p> printf("修改時間請按1\n");</p><p> printf("修改終點(diǎn)站請按2\n");</p&
111、gt;<p> printf("修改票價(jià)請按3\n");</p><p> scanf("%d",&select);</p><p> switch(select)</p><p><b> {</b></p><p><b> case
112、1:</b></p><p> for(k=0;k<N;k++)</p><p> if(strcmp(T[k].cn,banci)==0)</p><p><b> break;</b></p><p> printf("請輸入修改后的時間(例如08:00)\n");&
113、lt;/p><p> scanf("%s",T[k].lt);</p><p> printf("修改成功!\n");</p><p> printf("\n ===========================================================================\
114、n");</p><p> printf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k]
115、.lp,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);</p><p> printf(" ===========================================================================\n");</p><p> printf("按任意鍵返回\n&quo
116、t;);</p><p><b> save();</b></p><p><b> getch();</b></p><p><b> break;</b></p><p><b> case 2:</b></p><p>
117、; for(k=0;k<N;k++)</p><p> if(strcmp(T[k].cn,banci)==0)</p><p><b> break;</b></p><p> printf("請輸入修改后的終點(diǎn)站\n");</p><p> scanf("%s"
118、,T[k].ap);</p><p> printf("修改成功!\n");</p><p> printf("\n ===========================================================================\n");</p><p> printf(&qu
119、ot; 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k
120、].bn);</p><p> printf(" ===========================================================================\n");</p><p> printf("按任意鍵返回\n");</p><p><b> save()
121、;</b></p><p><b> getch();</b></p><p><b> break;</b></p><p><b> case 3:</b></p><p> for(k=0;k<N;k++)</p><p>
122、; if(strcmp(T[k].cn,banci)==0)</p><p><b> break;</b></p><p> printf("請輸入修改后的票價(jià)\n");</p><p> scanf("%d",&T[k].price);</p><p> pr
123、intf("修改成功!\n");</p><p> printf("\n ===========================================================================\n");</p><p> printf(" 車次 額定載量 起點(diǎn) 終點(diǎn)
124、 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p> printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);</p><p> printf
125、(" ===========================================================================\n");</p><p> printf("按任意鍵返回\n");</p><p><b> save();</b></p><p><
126、;b> getch();</b></p><p><b> default:</b></p><p> printf("選擇錯誤!");</p><p> printf("按任意鍵返回主菜單\n");</p><p> getch();break;<
127、;/p><p><b> }</b></p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p> int select;</p><p><b
128、> load();</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> main_menu();</p><p> scanf("%d",&select);</p>
129、<p> switch(select)</p><p><b> {</b></p><p> case 1:scan();getchar();break;</p><p> case 2:search();getchar();break;</p><p> case 3:buy();getch();
130、break;</p><p> case 4:tuipiao();getchar();break;</p><p> case 5:change();getchar();break;</p><p><b> }</b></p><p> if(select==0)</p><p> {
131、 printf("按任意鍵退出\n");printf("\n");break;}</p><p><b> } </b></p><p><b> }</b></p><p><b> 4 系統(tǒng)測試</b></p>
132、<p><b> 4.1 主界面</b></p><p> 系統(tǒng)主界面如圖4-1所示:</p><p><b> 系統(tǒng)運(yùn)行主窗口</b></p><p> 4.2 車次信息瀏覽模塊</p><p> 在主菜單的提示下選擇1,可顯示所有車次信息。</p><p&
133、gt; 4.3 查詢車次信息</p><p> 在主菜單的提示下選擇2,接著按提示進(jìn)行各項(xiàng)查</p><p><b> 4.4 售票</b></p><p> 輸入您想買的班次,若有票剩余且未發(fā)車,即可訂票,程序會顯示訂票成功;此時再輸入您要定的票數(shù);</p><p> 若車已發(fā)出或票賣完了,程序會提示您:此班
134、不能訂票。</p><p><b> 4.5 退票</b></p><p> 輸入您想退的班次,若未發(fā)車,即可退票,程序會顯示退票成功;此時再輸入您要退的票數(shù),程序會顯示退票成功;</p><p> 4.6 修改班次信息</p><p> 若想增加班次,則要輸入密碼(aaa),輸入您所要修改的班次,只能修改終點(diǎn)站
135、、發(fā)車時間及行車時間。</p><p><b> 5 工作總結(jié)</b></p><p> 5.1 系統(tǒng)工作總結(jié)</p><p> 系統(tǒng)第一次開始運(yùn)行時,要調(diào)用INPUT()函數(shù)進(jìn)行數(shù)據(jù)的錄入,完成之后再重新運(yùn)行,這時不再調(diào)用INPUT()函數(shù),可以節(jié)省一些步驟。再整個運(yùn)行過程中并沒出現(xiàn)什么錯誤,按照提示一步步地操作,可以簡單的操作系統(tǒng)。,
136、</p><p><b> 5.2 心得體會</b></p><p> 經(jīng)歷這幾周的學(xué)習(xí)和鍛煉,這個車票管理系統(tǒng)總算是做出來了,一開始我無從入手,只有上網(wǎng)查找一些資料閱讀別人的設(shè)計(jì),這樣才有了一點(diǎn)點(diǎn)眉目。到現(xiàn)在為止還不算做的完好,還存在一些不足,比如:現(xiàn)在的退票售票的一些細(xì)節(jié)還出現(xiàn)錯誤,雖然可以忽略,主體上是沒問題的。由于我的水平有限,所以只能做出現(xiàn)在的程序。&l
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)報(bào)告--車票管理系統(tǒng)
- 車票管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告-車票管理系統(tǒng)
- 車票管理系統(tǒng)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)報(bào)告--車票管理系統(tǒng)
- 車票管理系統(tǒng)c語言課程設(shè)計(jì)報(bào)告
- c語言課程設(shè)計(jì)--車票管理系統(tǒng)
- 火車票管理系統(tǒng)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)車票管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告---車票信息管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告---火車票訂票管理
- vb汽車車票管理系統(tǒng)課程設(shè)計(jì)報(bào)告書
- java課程設(shè)計(jì)--火車票管理系統(tǒng)
- 長途汽車站車票管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- vc++火車票信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫課程設(shè)計(jì)-列車票務(wù)管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告----火車票售票系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--火車票售票管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-火車票售票管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-火車票售票管理系統(tǒng)
評論
0/150
提交評論