課程設(shè)計(jì)報(bào)告-車票管理系統(tǒng)_第1頁
課程設(shè)計(jì)報(bào)告-車票管理系統(tǒng)_第2頁
課程設(shè)計(jì)報(bào)告-車票管理系統(tǒng)_第3頁
課程設(shè)計(jì)報(bào)告-車票管理系統(tǒng)_第4頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計(jì)報(bào)告-車票管理系統(tǒng)1課程設(shè)計(jì)報(bào)告(c語言程序設(shè)計(jì))題目二級(jí)學(xué)院車票信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)數(shù)學(xué)與統(tǒng)計(jì)專班業(yè)級(jí)信息與計(jì)算科學(xué)112010102學(xué)生姓名郭雙紅學(xué)號(hào)11201010209指導(dǎo)教師陳媛時(shí)間20130619 2 1 需求分析1.1 課程設(shè)計(jì)題目要求設(shè)計(jì)并實(shí)現(xiàn)一個(gè)車票銷售管理系統(tǒng),系統(tǒng)實(shí)現(xiàn)以下功能。(1)系統(tǒng)以菜單方式工作:要求界面清晰,友好,美觀,易用。(2)車次信息導(dǎo)入功能:要求可從磁盤文件導(dǎo)入車次信息。(3)查詢功能:可按班車號(hào)、起點(diǎn)站或終點(diǎn)站查找班車信息,并將查詢結(jié)果輸出。(4)售票功能:只有當(dāng)某班車已定票人數(shù)小于額定載量,且當(dāng)前系統(tǒng)時(shí)間小于發(fā)車時(shí)間才能售票。售票顯示收費(fèi)信

2、息;售票后更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。(5)退票功能:輸入退票的班次,當(dāng)本班車未發(fā)出時(shí)才能退票。退票后自動(dòng)更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。(6)信息瀏覽功能:能輸出所有班車的信息;要求輸出格式清晰、美觀。(7)信息修改:要求能修改某一指定班次的信息,并在修改后將信息存盤。1.2 系統(tǒng)功能需求(1)系統(tǒng)以菜單方式工作:要求界面清晰,友好,美觀,易用。(2)車次信息導(dǎo)入功能:要求可從磁盤文件導(dǎo)入車次信息。(3)查詢功能:可按班車號(hào)、起點(diǎn)站或終點(diǎn)站查找班車信息,并將查詢結(jié)果輸出。(4)售票功能:只有當(dāng)某班車已定票人數(shù)小于額定載量,且當(dāng)前系統(tǒng)時(shí)間小于發(fā)車時(shí)間才能售票。售票顯示收費(fèi)信息;售票后更新已

3、定票人數(shù),并實(shí)現(xiàn)信息存盤。(5)退票功能:輸入退票的班次,當(dāng)本班車未發(fā)出時(shí)才能退票。退票后自動(dòng)更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。(6)信息瀏覽功能:能輸出所有班車的信息;要求輸出格式清晰、美觀。(7)信息修改:要求能修改某一指定班次的信息,并在修改后將信息存盤。2 系統(tǒng)設(shè)計(jì)2.1 功能模塊圖本系統(tǒng)的功能模塊圖如圖2-1所示。 3 圖 2-1 系統(tǒng)功能模塊圖2.2 數(shù)據(jù)定義本系統(tǒng)的數(shù)據(jù)可采用結(jié)構(gòu)數(shù)組來處理??杀匾脑O(shè)置全局變量。因此本系統(tǒng)的主要數(shù) 據(jù)定義如下:struct train_ticket char cn15; /車量班次 char lp15; /left place 起點(diǎn) char ap

4、15; /arrive place 終點(diǎn) char lt15; /left time 發(fā)車時(shí)間 char rt15; /running time 行車時(shí)間 float price; / 票價(jià)int rl;/rated load 額定載量車 票 管 理 系 統(tǒng)進(jìn)入班次瀏覽進(jìn)入班次查詢售 票退 票修改版此信息查 詢 菜 單進(jìn)入起點(diǎn)站查詢進(jìn)入終點(diǎn)站查詢進(jìn)入班次查詢 int bn; /booking number已定票人數(shù) tn;int n=0,i=0;/全局變量2.3 關(guān)鍵技術(shù)分析在程序開始運(yùn)行時(shí),應(yīng)調(diào)用自定義的input()函數(shù),將所有需要的數(shù)據(jù)導(dǎo)入到結(jié)構(gòu)數(shù)組中,然后保存。調(diào)用load()函數(shù),從

5、磁盤導(dǎo)入車票信息。由于第一次應(yīng)用input()函數(shù)磁盤中已有數(shù)據(jù),因此不必要再進(jìn)行重新導(dǎo)入,所以在input()函數(shù)中先詢問是否重新導(dǎo)入,然后再進(jìn)入主菜單,或者在調(diào)用一次后,以后運(yùn)行時(shí)不再調(diào)用。.買票和退票都涉及到時(shí)間的問題,這源于要比較發(fā)車時(shí)間與當(dāng)前的時(shí)間,判斷這班車到底有沒有發(fā)車,和能不能訂票與退票,這時(shí)用了一個(gè)時(shí)間函數(shù),輸出了當(dāng)前的時(shí)間,但那邊有年月日,不好進(jìn)行提取和比較,于是采用輸出了時(shí)間,然后看著那個(gè)時(shí)間手動(dòng)的提取。系統(tǒng)中應(yīng)編寫存盤函數(shù)save(),在進(jìn)行買票或者退票功能后都需要調(diào)用save()函數(shù)進(jìn)行數(shù)據(jù)的更新。采用循環(huán)結(jié)構(gòu)生成主菜單,在數(shù)據(jù)輸入時(shí)應(yīng)該有清晰的提示信息,以方便用戶的

6、操作,對(duì)輸出數(shù)據(jù)進(jìn)行格式控制,以使界面更加美觀,清晰。3 系統(tǒng)實(shí)現(xiàn)3.1 功能模塊設(shè)計(jì)根據(jù)系統(tǒng)分析的結(jié)論,將本系統(tǒng)需完成的功能模塊劃分如下:#include#include#include#include#include#define n4void main_menu(); /主菜單模塊void load();/導(dǎo)入信息void input();/輸入模塊void scan();/瀏覽模塊void tuipiao();/退票void buy(); /買票 void change(); /修改函數(shù) void save();/保存函數(shù)void prna(int pos); /打印記錄void se

7、archmenu(); /查詢菜單函數(shù)int s_cn(); /按班次查詢int s_lp();/按起點(diǎn)站查詢int s_ap(); /按終點(diǎn)站查詢struct train_ticketchar cn15; /車量班次char lp15;/left place 起點(diǎn)char ap15; /arrive place終點(diǎn)char lt15;/left time發(fā)車時(shí)間char rt15;/running time行車時(shí)間int price;/ 票價(jià)int rl; /rated load 額定載量int bn; /booking number已定票人數(shù)tn;int n=0,i=0;/全局變量3.2

8、源代碼/*/主菜單/*void main_menu()system(cls);system(color e);printf(* *n);printf(*歡迎來到車票查詢系統(tǒng)*); printf(n); printf(| 1: 進(jìn)入班次瀏覽|n);printf(| 2: 進(jìn)入查詢班次|n);printf(| 3: |n);printf(| 4: |n);printf(| 5: |n);printf(| 0: |n);售票退票班次信息修改退出printf(* *n);printf(n請(qǐng)選擇(0-5):);void load() /從磁盤文件導(dǎo)入班次信息int i;file *fp;if(fp=fo

9、pen(c:車票管理系統(tǒng).dat,rb)=null)printf(文件打開錯(cuò)誤n);exit(0);for(i=0;ifread(&ti,sizeof(struct train_ticket),1,fp);fclose(fp);system(cls);void save() /將班次信息保存到磁盤文件 file *fp;if(fp=fopen(c:車票管理系統(tǒng).dat,wb)=null)printf(無法創(chuàng)建文件!nn);exit(0);for(i=0;ifwrite(&ti,sizeof(struct train_ticket),1,fp);fclose(fp);int time()/當(dāng)前系

10、統(tǒng)時(shí)間struct tm*f;time_t now;now=time(null);time(&now);f=gmtime(&now);printf(ctime(&now);return 0;void scan()system(cls); /*清屏*/printf(n= =n);printf(車次額定載量起點(diǎn)終點(diǎn)開車時(shí)間行車時(shí)間票價(jià)已定票人數(shù)n);for(i=0;iprintf( %s%13d%10s%10s%12s%8s%f%6dn,t,ti.rl,ti.lp,ti.ap,ti.lt,t i.rt,ti.price,ti.bn); printf(= =n);printf(請(qǐng)按任意鍵返回

11、主菜單n);getch();void input() /鍵入所有信息char ch;dosystem(cls);printf(nn =歡迎進(jìn)入錄入汽車時(shí)刻信息界面=n);doprintf(n新建汽車信息?(y/n);scanf(%c,&ch);if(ch!=y&ch!=n)printf(輸入錯(cuò)誤,請(qǐng)重新輸入!);while(ch!=y&ch!=n);if(ch=n)break;printf( -);printf(n printf(錄入第%d趟列車信息n,n+1);車次);fflush(stdin);gets(t);printf(額定載量); fflush(stdin);scanf(%d

12、,&ti.rl); printf(起點(diǎn)); fflush(stdin);gets(ti.lp);printf(終點(diǎn));fflush(stdin);gets(ti.ap);printf(開車時(shí)間);fflush(stdin);gets(ti.lt);printf(行車時(shí)間);fflush(stdin);gets(ti.rt);printf(票價(jià));fflush(stdin);scanf(%f,&ti.price);printf(已定票人數(shù));fflush(stdin);scanf(%d,&ti.bn);n+;i+;while(isave();system(cls);打印一條記錄void prna

13、(int pos)/printf(n= =n);printf(車次額定載量起點(diǎn)終點(diǎn)開車時(shí)間行車時(shí)間票價(jià)已定票人數(shù)n);printf( %s%13d%10s%10s%12s%8s%f%6dn,t,tpos.rl,tpos.lp,tpos.ap,t pos.lt,tpos.rt,tpos.price,tpos.bn); printf(= =n);查詢主菜單void searchmenu()/system(cls);printf(nn =歡迎進(jìn)入查詢汽車時(shí)刻信息界面=n);printf(n +請(qǐng)選擇查找方式+nn);printf(| 1: 按班次查詢 |n);printf(| 2: 按起

14、點(diǎn)站查詢|n);printf(| 3: 進(jìn)終點(diǎn)站查詢|n);printf(| 4: 返回主菜單|n);printf(*n);printf(n請(qǐng)選擇(1-4):);int s_cn() /按班次查詢char name115;int j;system(cls);printf(請(qǐng)輸入要查詢的班次號(hào):n ); 11 fflush(stdin);gets(name1);for(j=0;jif(strcmp(t,name1)=0)printf( %s%13d%10s%10s%12s%8s%f%6dn,t,tj.rl,tj.lp,tj.ap,tj.lt,t j.rt,tj.price,tj.bn);continue;return 0;return 1;int s_lp() /按起點(diǎn)站查詢char name215;int j;system(cls);

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論