停車場(chǎng)管理系統(tǒng)設(shè)計(jì)C語言課程設(shè)計(jì)_第1頁
停車場(chǎng)管理系統(tǒng)設(shè)計(jì)C語言課程設(shè)計(jì)_第2頁
停車場(chǎng)管理系統(tǒng)設(shè)計(jì)C語言課程設(shè)計(jì)_第3頁
停車場(chǎng)管理系統(tǒng)設(shè)計(jì)C語言課程設(shè)計(jì)_第4頁
停車場(chǎng)管理系統(tǒng)設(shè)計(jì)C語言課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué)號(hào)2014-2015學(xué)年 第二學(xué)期高級(jí)語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告題 目:停車場(chǎng)管理系統(tǒng)的設(shè)計(jì)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):13級(jí)(3)班姓名:指導(dǎo)教師:陳茅成績:計(jì)算機(jī)與信息工程系二0一五年 月 日目錄1、設(shè)計(jì)內(nèi)容及要求2、整體設(shè)計(jì) 停車模塊 車輛信息瀏覽模塊 取車模塊3、運(yùn)行與測(cè)試報(bào)告4、設(shè)計(jì)感想5、源程序代碼設(shè)計(jì)目的:通過設(shè)計(jì)一個(gè)停車場(chǎng)管理系統(tǒng), 進(jìn)一步消化和鞏固已學(xué)過的 C 語言程序設(shè) 計(jì)基礎(chǔ)理論,學(xué)習(xí)和實(shí)踐程序設(shè)計(jì)的各種技能,利用 C 語言來設(shè)計(jì)各種應(yīng)用程 序和管理系統(tǒng), 為社會(huì)提供各種現(xiàn)代化的管理工具, 同時(shí)也掌握與數(shù)組有關(guān)的算 法、函數(shù)的調(diào)用、結(jié)構(gòu)體類型變量的定義和使用;文件打開、關(guān)

2、閉、讀、寫等文 件操作函數(shù)的使用,提高實(shí)際運(yùn)用能力。設(shè)計(jì)內(nèi)容:1 有一個(gè)兩層的停車場(chǎng), 每層有 6 個(gè)車位,當(dāng)?shù)谝粚榆囄煌M后才允 許 使用第二層 (停車場(chǎng)可用一個(gè)二維數(shù)組實(shí)現(xiàn), 每個(gè)數(shù)組元素存放一個(gè)車牌號(hào)) 每 輛車的信息包括車牌號(hào),層號(hào),車位號(hào),停車時(shí)間共四項(xiàng),其中停車時(shí)間按分鐘 計(jì)算。2 假設(shè)停車場(chǎng)初始狀態(tài)為第二層已經(jīng)有四輛車,其車位號(hào)依次為1-4,停車時(shí)間依次為20, 15, 10, 5。即先將這四輛車的信息存入文件“ car.daf中 (數(shù)組的對(duì)應(yīng)元素也要進(jìn)行賦值)3 停車操作:當(dāng)一輛車進(jìn)入停車場(chǎng)時(shí),先輸入其車牌號(hào),再為它分配一 個(gè)層號(hào)和一個(gè)車位號(hào) (分配前先查詢車位的使用情況, 如

3、果第一層有空位則必須 停在第一層),停車時(shí)間設(shè)為 5,最后將新停入的汽車的信息添加文件“ car.dat” 中,并將在此之前的停車時(shí)間加 5。(此題簡化時(shí)間的處理:當(dāng)有一輛車進(jìn)入時(shí) 才對(duì)別的車加時(shí)間 5分鐘)4 收費(fèi)管理(取車):當(dāng)有車開走時(shí),輸入其車牌號(hào),先按其停車時(shí)間 計(jì)算費(fèi)用,每 5分鐘2毛錢。同時(shí)從文件“ car.dat” k 刪除該車的信息,并將該 車對(duì)應(yīng)的車位設(shè)置為可使用狀態(tài)(即二維數(shù)組清零) 。按用戶的選擇來判斷是否 要輸出 停車收費(fèi)的總計(jì)。5 輸出 停車場(chǎng)中全部車輛的信息。6 退出系統(tǒng)。需求分析車輛信息要用文件存儲(chǔ), 提供文件的輸入輸出操作; 當(dāng)車開走時(shí)要?jiǎng)h除文件中該車的信 息

4、,因而要提供文件的刪除操作;另外還要用鍵盤式菜單實(shí)現(xiàn)功能選擇??傮w設(shè)計(jì)整個(gè)管理系統(tǒng)可設(shè)計(jì)為停車模塊、取車模塊、車輛信息瀏覽模塊。廠停車場(chǎng)管理系統(tǒng)yr停車模塊車輛信息瀏覽模塊取車模塊_ 丿V丿詳細(xì)設(shè)計(jì)首先定義包含與標(biāo)準(zhǔn)庫有關(guān)的變量定義和宏定義和文件包含所用的 文件#include #include #include#include#include 然后用一個(gè)二維數(shù)組來表示一個(gè)停車場(chǎng)的位置,每個(gè)數(shù)組元 素存放一個(gè)車牌號(hào)int cars124=1234,1,1,20,2345,1,2,15,3456,1,3,10, 4567,1,4,5,0,1,5,0,0,1,6,0,0,2,1,0,0,2,2,0

5、,0,2,3,0, 0,2,4,0,0,2,5,0,0,2,6,0;后定義一個(gè)文件夾來儲(chǔ)存所停車的信息,開始有四輛車在車 庫void save()FILE *fp; int i,j;if(fp=fopen(car.dat,w)=NULL)printf(cannot open filen);return;for(i=0;i12;i+)for(j=0;j4;j+) if(fwrite(cars,2,1,fp)!=1)prin tf(file write error n);fclose(fp);getchar();-、停車模塊停車模塊void car_park(void)int x,i,j;prin

6、tf(n A-A歡迎您的光臨! A-An ”);printf( nn 請(qǐng)輸入車牌號(hào) :nn);車牌號(hào)要在 1000 至 9999 之間,輸入錯(cuò)誤的車牌號(hào)將返回主菜單 for(i=0;i12;i+)if(carsi0=x|x9999)break;if(i!=12)printf(n 錯(cuò)誤的號(hào)碼或已經(jīng)停過了 !n);getchar();else if(i=12&x=1000&x=9999)for(i=0;i12;i+)if(carsi0=0)carsi0=x;save();printf(nn 成功 nn);為車選擇一個(gè)停車的位置,包括層號(hào)與位置號(hào)層號(hào)車位prin tf(層=%d,車位=%dn,car

7、si1,carsi2);prin tf(nnn Two times En ter to en d.);break;for (i=0;i12;i+)if(carsi0!=0) carsi3+=5;save();二、車輛信息瀏覽模塊把停車信息存入文件中void printfdata() int i,j;FILE *fp;fp=fopen(car.dat,r);for(i=0;i12;i+)printf( n NumberFloor Position Timen); for(j=0;j4;j+)fread(cars,2,1,fp); printf( %6d,carsij); printf(n); f

8、close(fp); void save();void car_park(void);void car_get(void);void printfdata();char readcommand();void initialization();插入主函數(shù) int main() char c;printf(”按en ter開始 n ”);while(1)in itializatio n();c=readcomma nd();system(cls);請(qǐng)選擇所需要的操作,停車,取車,計(jì)時(shí)選擇以下操作r、r“ p”a ”g“ d”停車操作取車操作計(jì)算停車時(shí)間丿 丿switch(c) case p: ca

9、r_park(); break;case P: car_park();break;case g: car_get();break;case G: car_get();break;case d: prin tfdata();prin tf(nn please press En ter to continu e.n);sca nf(%c,&c);break;case D: prin tfdata();printf(nnrreupklfdkplease press Enterto continue.n);sca nf(%c,&c);break;case e: printf(nnnn Press En

10、ter to continue.); exit(0);break;case E: printf(nnnn Press Enter to continue.); exit(0);break;default : printf(ERROR! Press Enter to continue.); getchar();break;void initialization()int i;getchar();printf(n*n);printf( 1.停車-p 2.取車-g 3. 停車時(shí)間 -d4.退出-E);printf(nn*n);char readcommand()Char c;while(c!=p)&

11、(c!=P)&(c!=g)&(c!=G)&(c!=d)&(c!=D) &(c!=e)&(c!=E)printf( 輸入 p,g,d,e 選擇 !n);c=getchar();printf(n);break;return c;三. 取車操作void car_get(void) int i,y;float paid;i nt a;printf(n取車nnn輸入車牌號(hào):nnnn);prin tf(n車 牌號(hào)在1000至 9999之間n 錯(cuò)誤 的號(hào)碼nn);sca nf(%d, &y);for(i=0;i12;i+)for(i=0;i12;i+)if(carsi0=y)取車后車牌號(hào)清零carsi0=0

12、;paid=0.2*carsi3/5;計(jì)算停車費(fèi)printf(n 計(jì) 費(fèi) (1- 是 2 或 任 意 鍵 - 否 )nnn); scanf(%d,&a);switch(a)case 1:printf(nnn 價(jià)格是 %8.2fyuann,paid);carsi3=0;save();break;case 2:printf( 歡迎您下次光臨 );carsi3=0;save();break;default: break;else;break;if(i=12)printf(n 此車不在停車場(chǎng) !n);運(yùn)行與測(cè)試報(bào)告TNumberFloor PositionT ineJ12341125234512203

13、45613154567141001500160021002200230024002500260pleasepress 9Enter*to continueTj D:我的文檔CFreeTemp侏命名le“| cj | B| cj | BNunbet*4 5 6 73 4 5 62 3 4s12 3 4Floor Position1234T i ne00000001111112222226123pleasepress Entercont inue D:我的文檔CFreeTemp侏命名le“1 停車一p 2.取車一g3停車時(shí)間一d4退岀一E設(shè)計(jì)感想:眾所周知,C語言程序是一種最基本的應(yīng)用程序 ,只有

14、熟練的掌握和運(yùn)用才能便于以后的編程。通過此次程序設(shè)計(jì)實(shí) 習(xí),我成功地完成了課堂上老師所要求的內(nèi)容,更加理解和 懂得運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法,初步掌握開發(fā)一個(gè) 小型實(shí)用系統(tǒng)的基本方法,學(xué)會(huì)調(diào)試一個(gè)較長程序的的基本 方法,學(xué)會(huì)利用流程圖表示算法,進(jìn)一步掌握和提高利用C語言進(jìn)行程序設(shè)計(jì)的能力。 在編程過程中我們需要多練 習(xí),多思考,要有耐心。在進(jìn)行調(diào)試程序檢錯(cuò)的時(shí)候,要從 頭開始,不要放過每一個(gè)小的環(huán)節(jié)。在實(shí)習(xí)中我也遇到了好 多的問題,通過老師的細(xì)心講解以及和同學(xué)們?cè)谝黄鹩懻摚?不僅解決了許多問題,而且還學(xué)到了許多知識(shí)。/ 包含了與標(biāo)準(zhǔn) I/O 庫有關(guān)的變量定義和宏定義/ 文件包含所用的文件源

15、程序代碼 #include #include #include #include #include int cars124=1234,1,1,20,2345,1,2,15,3456,1,3,10,4567,1,4,5,0,1,5,0,0,1,6,0,0,2,1,0,0,2,2,0,0,2,3,0,0,2,4,0,0,2,5,0,0,2,6,0; / 二維數(shù)組代表停車信息void save() FILE *fp;int i,j;if(fp=fopen(car.dat,w)=NULL)printf(cannot open filen);return;for(i=0;i12;i+)for(j=0;j

16、4;j+)if(fwrite(cars,2,1,fp)!=1)printf(file write errorn); fclose(fp); getchar();void car_park(void) / 停車操作int x,i,j;printf(nA-A歡迎您的光臨! A-An );printf( nn 請(qǐng)輸入車牌號(hào) :nn);printf(n注意:車牌號(hào)要在1000至9999之間n輸入錯(cuò)誤的車牌號(hào)將返回菜單 nn);scanf(%d,&x); / 輸入要停車的停車號(hào)for (i=0;i12;i+)if(carsi0=x|x9999)break;if(i!=12)printf(n 錯(cuò)誤的號(hào)碼或

17、已經(jīng)停過了 !n);getchar(); / 如果此車號(hào)已在,打印此車已停else if(i=12&x=1000&x=9999)for (i=0;i12;i+)if(carsi0=0)carsi0=x;save();printf(nn 成功 nn);printf( “ 層 =%d, 車 位 =%dn,carsi1,carsi2); printf(nnnTwo times Enter to end.);break; / 如果此車號(hào)不在則進(jìn)行停車操作 for (i=0;i12;i+)if(carsi0!=0) carsi3+=5; / 所有停車時(shí)間 +5 save(); / 保存以上信息到文件vo

18、id car_get(void) / 取車操作int i,y;float paid;int a;printf(n取車 nnn 輸入車牌號(hào) :nnnn);printf(n 車牌號(hào)在 1000 至 9999 之間 n錯(cuò)誤的號(hào)碼 nn);scanf(%d,&y);/ 輸入要取的車的車牌號(hào)for(i=0;i12;i+)for(i=0;i12;i+) if(carsi0=y) carsi0=0; / 取車后車牌號(hào)清零paid=0.2*carsi3/5; / 計(jì)算停車費(fèi)用printf(n計(jì) 費(fèi) (1- 是 2 或 任 意 鍵 - 否 )nnn);scanf(%d,&a);switch(a) case 1:

19、printf(nnn價(jià)格是 %8.2fyuann,paid);/ 打印停車費(fèi)用carsi3=0;/ 時(shí)間清零save(); break;case 2: printf( 歡迎您下次光臨 );carsi3=0; / 時(shí)間清零save();break;default: break; else;break;if(i=12)printf(n 此車不在停車場(chǎng) !n);void printfdata()/ 停車信息int i,j;FILE *fp;fp=fopen(car.dat,r); / 打開文件“ car.dat printf( n Number Floor Position Timen); for(

20、i=0;i12;i+)for(j=0;j4;j+)fread(cars,2,1,fp); / 讀文件printf( %6d,carsij);printf(n);fclose(fp); / 關(guān)閉文件“ car.dat ”void save();void car_park(void);void car_get(void);void printfdata(); char readcommand(); void initialization();int main()char c;printf(*停車場(chǎng)管操作程序 *n);printf( 設(shè) 計(jì) 者 : 陳 霞專 業(yè) : 計(jì) 算 機(jī) 科 學(xué) 與 技 術(shù)學(xué)號(hào) :1308210204日期:19/04/2015n);printf(n);prin tf(按en ter開始 n);while(1)initialization();/ 初始化界面c=readcommand(); / 讀取停車場(chǎng)狀況 system(cls);switch(c)case pcar_park();break;/停車操作case P:car_park();break;/停車操作case

溫馨提示

  • 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)論