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

下載本文檔

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

文檔簡(jiǎn)介

1、C語(yǔ)言課程設(shè)計(jì)報(bào)告14停車場(chǎng)管理系統(tǒng)1題目要求設(shè)有一個(gè)可以停放n輛汽車的狹長(zhǎng)停車場(chǎng),它只有一個(gè)大門(mén)可以供車輛進(jìn) 出。車輛按到達(dá)停車場(chǎng)時(shí)間的早晚依次從停車場(chǎng)最里面向大門(mén)口處停放(最先到達(dá)的第一輛車放在停車場(chǎng)的最里面)。如果停車場(chǎng)已放滿n輛車,則后來(lái)的車輛 只能在停車場(chǎng)大門(mén)外的便道上等待, 一旦停車場(chǎng)內(nèi)有車開(kāi)走,則排在便道上的第 一輛車就進(jìn)入停車站。停車站內(nèi)如有某輛車要開(kāi)走,在它之后進(jìn)入停車場(chǎng)的車都 必須先退出停車站為它讓路,待其開(kāi)出停車場(chǎng)后,這些車輛再依原來(lái)的次序進(jìn)場(chǎng)。 每輛車在離開(kāi)停車場(chǎng)時(shí),都應(yīng)根據(jù)它在停車場(chǎng)內(nèi)停留的時(shí)間長(zhǎng)短交費(fèi)。 如果停留 在便道上的車未進(jìn)停車場(chǎng)就要離去, 允許其離去,不收停

2、車費(fèi),并且仍然保持在 便道上等待的車輛的次序。編制一程序模擬該停車場(chǎng)的管理?!净疽蟆恳蟪绦蜉敵雒枯v車到達(dá)后的停車位置(停車場(chǎng)或便道上),以及某輛車離開(kāi)停車場(chǎng)是的停車時(shí)間及它應(yīng)該交的費(fèi)用。2需求分析根據(jù)題目要求,因?yàn)橥\噲?chǎng)是一個(gè)單條的序列,可以用結(jié)構(gòu)體實(shí)現(xiàn);在程序中, 需要知道每輛來(lái)車的具體停放位置,應(yīng)提供提示、查找、標(biāo)記工作。車輛離開(kāi)要 計(jì)時(shí)計(jì)費(fèi)。另外,每天開(kāi)始時(shí),停車場(chǎng)要初始化 。3總體設(shè)計(jì)這個(gè)系統(tǒng)可以分為:初始化、有車進(jìn)入、有車離開(kāi)、退出四個(gè)模塊。4詳細(xì)設(shè)計(jì)mai n()函數(shù)體內(nèi)包含了界面選則部分 men u(),并單獨(dú) 抽出來(lái)作為一個(gè)獨(dú)立函數(shù),目的在于系統(tǒng)執(zhí)行每部分 模塊后能夠方便

3、返回到系統(tǒng)界面。即ma in ()函數(shù)寫(xiě)為如下:void mai n()/* 主函數(shù) */menu();/*菜單函數(shù)*/菜單函數(shù):void menu()int n,w;doputs("tt*MENU*nn");p uts("ttt 1.初始化");puts("ttt 2.有車進(jìn)入");puts("ttt 3.有車離開(kāi)");p uts("ttt 4.退出");puts("nntt*n");prin tf(" PI ease choice your number(1-4

4、): bb"); scan f("%d",&n);if(n<1|n>4) /*對(duì)選擇的數(shù)字作判斷*/w=1; getchar();else w=0;while(w=1);switch( n)case 1:chushi();break/*初始化函數(shù) */case 2:jinru();break;/*車輛進(jìn)入函數(shù) */case 3:likai();break;/*車輛離開(kāi)函數(shù) */case 4:exit(0);/* 退出 */初始化模塊設(shè)計(jì):【需求分析】該模塊是將每一天開(kāi)始的停車場(chǎng)內(nèi)和便道車位清零。 首先建立場(chǎng)內(nèi)場(chǎng)外的結(jié) 構(gòu)體,結(jié)構(gòu)體內(nèi)成員即車位的

5、狀態(tài)。用循環(huán)實(shí)現(xiàn)車位的致零即可。struct changnei/*場(chǎng)內(nèi)車道信息*/ int n eik ong;ch nN-1;struct changwai/*場(chǎng)外車道信息*/ int waik ong;chwM-1;N和M分別是停車場(chǎng)和便道的車位預(yù)設(shè)值,用宏定義。用戶可根據(jù)實(shí)際情況改 變。#defi ne N 100/*預(yù)設(shè)停車場(chǎng)有100個(gè)車位*/#defi ne M 100/*預(yù)設(shè)便道有100個(gè)出位*/void chushi()/*初始化函數(shù) */int i,j;for(i=0;i<=N-1;i+)chni.neikong=0;/*將場(chǎng)內(nèi)車道設(shè)置為空*/ for(j=0;j<

6、=M-1;j+)chwi.waikong=0;/*將便道車道設(shè)置為空*/ printf("nntt 已初始化 nn");menu();函數(shù)出示化后將回到菜單界面。車輛進(jìn)入函數(shù):【需求分析】號(hào),車輛到達(dá)后,要指定車輛的停車位置。用戶根據(jù)菜單函數(shù)進(jìn)入車輛進(jìn)入模塊。 按照每輛車的到達(dá)次序給予車輛次序號(hào),由 0號(hào)開(kāi)始。車輛信息也建立結(jié)構(gòu)體。struct car/*車輛信息 */int car_num;/*車輛次序號(hào)*/int car_arr;/*車輛到達(dá)時(shí)間*/int car_lef;/*車輛離開(kāi)時(shí)間*/ int car_stay;/*車輛停放位置*/ carCIXUHAO;其中,

7、CIXUHAO是車輛次序號(hào)的宏定義:口號(hào),由 0開(kāi)始*/給予車輛次序號(hào)之后,用循環(huán)判斷停車場(chǎng)是否停滿,再分別給予選擇:場(chǎng)內(nèi)是否已滿已滿,將車停在便道未滿,指定停車場(chǎng)位置void jinru()/*車輛進(jìn)入函數(shù)*/int i,a;int h=0;printf("nn請(qǐng)輸入該車次序號(hào)(從0號(hào)開(kāi)始):"); sea nf("%d",&a);for(i=0;i<N;i+)if(ehni.neikong=0);/* 無(wú)車標(biāo)記 0*/ if(ehni.neikong=1)/* 有車標(biāo)記 1*/ h=h+1; if(h=N)printf("停車

8、場(chǎng)內(nèi)已停滿,請(qǐng)停在便道上elsecara.car_stay=h; chn h. neik on g=1;printf("該車應(yīng)該停在停車場(chǎng)內(nèi)第道 printf("請(qǐng)輸入該車進(jìn)停車場(chǎng)時(shí)刻( sca nf("%d",&cara.car_arr); "n");%d(從0道開(kāi)始記)n",h); 24小時(shí)整點(diǎn)計(jì)時(shí)):n");便道上還有車嗎?menu();程序執(zhí)行完后回到菜單。#define CIXUHAO 1000/*預(yù)設(shè)車輛次序號(hào)。不管車輛到達(dá)時(shí)停在場(chǎng)內(nèi)或便道, 均 依次設(shè)置一個(gè)次序車輛離開(kāi)函數(shù):【需求分析】若有一

9、輛車要離開(kāi),則需要記 錄該車的離開(kāi)時(shí)間,以計(jì)算出該車 在停車場(chǎng)內(nèi)的停車時(shí)間和應(yīng)該繳納 的費(fèi)用。該車離開(kāi)后,要判斷便道 上是否有車等待進(jìn)入,如有,則將 便道上第一輛車停放在停車場(chǎng)內(nèi)最 后的位置并記錄好進(jìn)場(chǎng)時(shí)間;若無(wú), 則返回菜單。void likai()/*車輛離開(kāi)函數(shù)*/ int i,k,choi,time;double fee;printf("請(qǐng)輸入離開(kāi)車輛次序號(hào),并將此車之后的車先全部退出停車場(chǎng)!"); sca nf("%d",&i);printf("n請(qǐng)輸入離開(kāi)車輛的離開(kāi)時(shí)刻(24小時(shí)整點(diǎn)計(jì)時(shí)):n");sca nf(&

10、quot;%d",&cari.car_lef);fee=D*(cari.car_lef-cari.car_arr);time=cari.car_lef-cari.car_arr;printf("次序號(hào)為%d的車停車時(shí)間%d小時(shí),應(yīng)收費(fèi)%f元n",i,time,fee); printf("nnn請(qǐng)讓場(chǎng)內(nèi)退出的車再依次進(jìn)場(chǎng)!nnn");printf("便道上現(xiàn)在有車嗎?(請(qǐng)選擇1或2)n1.有門(mén)2投有n");/*因便道上可能 沒(méi)有車,因此要做選擇*/sca nf("%d",&choi);if(

11、choi=2)menu();if(choi=1)printf("請(qǐng)讓便道上的第一輛車進(jìn)場(chǎng)n");printf("該車次序號(hào)為:n");sea nf("%d",&k);printf("請(qǐng)輸入該車進(jìn)場(chǎng)時(shí)間:n");sea nf("%d",&cark.car_anj; menu();D為預(yù)設(shè)停車場(chǎng)單位小時(shí)費(fèi)用,用宏定義,便于以后修改。#define D 1.2/*預(yù)設(shè)車輛停車費(fèi)為1.2元每小時(shí)*/5上機(jī)操作(1)主菜單函數(shù)M "I r匚:Users5unxiaoDe5Icto

12、pDebugTexl 1.exeX U tf M- U-空 H Sf-弩,曙須 LT phi T?UI I HW 甘 W ¥唇 H 豁唏“阿遛熱:弼開(kāi)lPlease cJioice your number<l-4>: 1(2) 初始化操作E *C:UersVsunsi自oDesktop0eb-ug,T亡xtl啟陽(yáng)Please cho iceyoui* nunbei?<l-4>: ftl已初始化WH WWMXWMMHMMHXfIENU WWMHWMWWKWWHW*遒入A#車離開(kāi)4-lSflease choiceyour minbeL<l-4: 【 (3)

13、有車進(jìn)入your nunbei'<i-4>: E21Please choice己寸 i B hnTT i-'v 開(kāi)豈 0道螫 :0 7始j 干0 2 Tfic T-TJ1TA 碣第刻 從C場(chǎng)場(chǎng) 號(hào)4< 圧=王爭(zhēng) 次雷 WMjt車 該該該 八應(yīng)入 請(qǐng)?jiān)撜?qǐng)1卩l(xiāng)ease choice your nuRljei*<l-4>: 2】己寸-1 Q開(kāi)點(diǎn)1道整山時(shí)殳 4IT 1 2卄道<刻(場(chǎng)場(chǎng) 號(hào)聿 次渤 霍車 該該該 請(qǐng)?jiān)撜?qǐng)目Piease choice your numberCl-4>: L2 記時(shí)3道蹩 始鬻刻(場(chǎng)場(chǎng) 號(hào)辜 庠UT T 毒車 該

14、該該 #44輸以上分別舉例0,1,2三個(gè)車的進(jìn)場(chǎng)情況(4) 有車離開(kāi)Flease cho ice yum* nunbei*<l"4> : 3 請(qǐng)輸入離開(kāi)車輛次序號(hào)】并將此車之后的車先全部退岀停車場(chǎng)! 0 請(qǐng)輸入離開(kāi)車輛的離開(kāi)時(shí)刻 3小時(shí)整點(diǎn)計(jì)時(shí)):欣序號(hào)為砒車停車時(shí)間?小時(shí),應(yīng)收費(fèi)8 400000請(qǐng)讓場(chǎng)內(nèi)退出的車再依次進(jìn)場(chǎng)!更堇上現(xiàn)在有車嗎?"青選擇丄或2若便道上沒(méi)車,則退回到主菜單入幵化翳始12 3 4若便道上有車12.34-Pic ace cbo ice your nuPiher<l-4> : 3 1請(qǐng)輸入離開(kāi)車輛次序號(hào)】并將此車之后的車先全部退

15、岀停車場(chǎng)! 2請(qǐng)輸入離開(kāi)車輛的離開(kāi)時(shí)刻(24小時(shí)整點(diǎn)計(jì)時(shí)): ?次序號(hào)為2的車停車時(shí)間卩小時(shí),應(yīng)收費(fèi)10-800000元請(qǐng)辻場(chǎng)內(nèi)退出的車再依次進(jìn)場(chǎng)!便道上現(xiàn)在有車嗎?(請(qǐng)選擇丄或2L 有亠2 沒(méi)有!»讓便道上的第一輛車進(jìn)場(chǎng)該車詼序號(hào)為:234請(qǐng)龜入該車迸場(chǎng)時(shí)間=?KMKMMMMMKMWMMwHEN UMMMMWMMMMMWMMM瀟離開(kāi)3-/6總結(jié)通過(guò)該實(shí)例的實(shí)習(xí),要求大家進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法, 初步掌握開(kāi)發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法, 學(xué)會(huì)調(diào)試較長(zhǎng)的程序,學(xué)會(huì)利用流 程圖表示算法,進(jìn)一步掌握和提高利用 C語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力。7原程序代碼#i ncludevs

16、tdio.h>#in clude<stdlib.h>#i ncludevstri ng.h>#defi ne N 100/*預(yù)設(shè)停車場(chǎng)有100個(gè)車位*/#defi ne M 100/*預(yù)設(shè)便道有100個(gè)出位*/#define D 1.2/*預(yù)設(shè)車輛停車費(fèi)為1.2元每小時(shí)*/#define CIXUHAO 1000/*預(yù)設(shè)車輛次序號(hào)。不管車輛到達(dá)時(shí)停在場(chǎng)內(nèi)或便道,均依次設(shè)置一個(gè)次序號(hào),由0開(kāi)始*/void menu();void chushi();void jin ru();void likai();struct car/*車輛信息 */int car_num;/*車輛次

17、序號(hào)*/int car_arr;/*車輛到達(dá)時(shí)間*/int car_lef;/*車輛離開(kāi)時(shí)間*/ int car_stay;/*車輛停放位置*/ carCIXUHAO;struct changnei/*場(chǎng)內(nèi)車道信息*/ int n eik ong;ch nN-1;struct changwai/*場(chǎng)外車道信息*/ int waik ong;chwM-1;void mai n()/* 主函數(shù) */menu();/*菜單函數(shù)*/ void menu()int n,w;doputs("tt*MENU*nn");p uts("ttt 1.初始化");puts(&

18、quot;ttt 2.有車進(jìn)入");puts("ttt 3.有車離開(kāi)");p uts("ttt 4.退出");puts("nntt*n"); prin tf(" PI ease choice your number(1-4): bb"); scan f("%d",&n);if(n<1|n>4)/*對(duì)選擇的數(shù)字作判斷*/w=1;getchar();else w=0;while(w=1);switch( n)case 1:chushi();break;/初始化函數(shù) */

19、case 2:jinru();break;/*車輛進(jìn)入函數(shù) */case 3:likai();break;/*車輛離開(kāi)函數(shù) */ case 4:exit(0);/*退出 */ void chushi()/*初始化函數(shù) */int i,j;for(i=0;i<=N-1;i+)chni.neikong=0;/*將場(chǎng)內(nèi)車道設(shè)置為空*/ for(j=0;jv=M-1;j+)chwi.waikong=0;/*將便道車道設(shè)置為空*/ printf("nntt 已初始化 nn");menu(); void jinru()/*車輛進(jìn)入函數(shù)*/int i,a;int h=0;print

20、f("nn請(qǐng)輸入該車次序號(hào)(從0號(hào)開(kāi)始):"); sca nf("%d",&a);for(i=0;i<N;i+)if(chni.neikong=0);/* 無(wú)車標(biāo)記 0*/ if(chni.neikong=1)/* 有車標(biāo)記 1*/ h=h+1;if(h=N)n");%d (從0道開(kāi)始記)n",h);24小時(shí)整點(diǎn)計(jì)時(shí)):n");printf("停車場(chǎng)內(nèi)已停滿,請(qǐng)停在便道上 else cara.car_stay=h; chn h. neik on g=1;printf("該車應(yīng)該停在停車場(chǎng)內(nèi)第道 printf("請(qǐng)輸入該車進(jìn)停車場(chǎng)時(shí)刻( sca nf("%d",&cara.car_arr); " menu(); void li

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論