




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
停車場管理系統(tǒng)【要求】有一個兩層的停車場,每層有6個車位,當(dāng)?shù)谝粚榆囃M后才允許使用第二層(停車場可用一個二維數(shù)組實現(xiàn),每個數(shù)組元素存放一個車牌號),每輛車的信息包括車牌號、層號、車位號、停車時間共4項,其中停車時間按分鐘計算。假設(shè)停車場初始狀態(tài)為第一層已經(jīng)有4輛車,其車位號依次為1?4,停車時間依次為20,15,10,5,即先將這4輛車的信息存入文件car.dat中(數(shù)組的對應(yīng)元素也要進行賦值)。停車操作:當(dāng)一輛車進入停車場時,先輸入其車牌號,再為它分配一個層號和一個車位號(分配前先查詢車位的使用情況,如果第一層有空位則必須停在第一層),停車時間設(shè)為5,最后將新停入的汽車的信息添入文件car.dat中,并將在此之前的所有停車時間加5。收費管理(取車):當(dāng)有車離開時,輸入其車牌號,先按其停車時間計算費用,每5分鐘0.2元(停車費用可設(shè)置一個變量進行保存),同時從文件car.dat中刪除該車的信息,并將該車對應(yīng)的車位設(shè)置為可用狀態(tài)(即二維數(shù)組對應(yīng)元素清零),按用戶的選擇來判斷是否要輸出停車收費的總計。輸出停車場中全部車輛的信息。退出系統(tǒng)。【提示】需求分析:車輛信息要用文件儲存,提供文件的輸入輸出操作;當(dāng)車要離開時要刪除文件中該車的信息,因而要提供文件的刪除操作;另外還要用鍵盤式菜單實現(xiàn)功能選擇??傮w設(shè)計:整個管理系統(tǒng)可設(shè)計為停車模塊、取車模塊、車輛信息瀏覽模塊。二、總體設(shè)計根據(jù)上面的需求分析,可以將這個系統(tǒng)的設(shè)計分為四大模塊(如圖2-1):停車、取車、車輛信息瀏覽、退出。其中主要功能是停車、取車、車輛信息瀏覽三個模塊。圖2-1系統(tǒng)功能模塊圖根據(jù)模塊圖可畫出總的流程圖(圖2-2)開始圖2-2總流程圖三、詳細(xì)設(shè)計1、 車輛信息車輛信息包括車牌號、層號、車位號、停車時間,將這四類數(shù)據(jù)組合成結(jié)構(gòu)體car,以便于引用?!境绦颉縮tructcar{intcarnumber;intfloor;intposition;inttime;}car[12];2、 車位信息由于停車場有兩層,每層六個車位,故車位信息可由一個二維數(shù)組park⑵[6]表示,注意停車場中已經(jīng)停放了4輛車,設(shè)這四輛車的車牌號為6840,4167,3548,9201。【程序】intpark[2][6]={6840,4167,3548,9201,0,0,0,0,0,0,0,0};car[0].carnumber=6840;car[0].floor=1;car[0].position=1;car[0].time=20;car[1].carnumber=4167;car[1].floor=1;
car[1].position=2;car[1].time=15;car[2].carnumber=3548;car[2].floor=1;car[2].position=3;car[2].time=10;car[3].carnumber=9201;car[3].floor=1;car[3].position=4;car[3].time=5;3、主菜單共包括四項功能:停車、取車、車輛信息瀏覽、退出。【程序】for(;;)printf("\n\n“““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小主菜單printf("\n\n“““““““““““““““““““““小小小小小小小小小小小小小小小小小小小小小主菜單\IIX*********************\n\n);printf(printf(printf(printf(printf(printf(printf(printf(printf(停車\n");取車\n");車輛信息瀏覽\n");退出\n\n");printf(************************************************\n\n);scanf("%c”,&a);4、各功能模塊設(shè)計(1)停車模塊【需求分析】題目要求必須在一層停滿的情況下才能在第二層停車,因此可以利用for語句保證先將第一層停滿,設(shè)置停車時間為5分鐘并將原有車輛的停車時間加5分鐘。進行分析時先打開文件檢查停車車牌號,若打開文件操作出錯則提示不能執(zhí)行。停車模塊流程圖如圖3-1所示。圖3-1停車模塊流程圖【程序】if(a=='1'){printf("\n請輸入車牌號:");scanf("%d”,&car[i].carnumber);for(j=0;j<2;++j){for(k=0;k<6;++k){if(park[j][k]==0){park[j][k]=car[i].carnumber;break;}}if(park[j][k]==car[i].carnumber)break;}car[i].floor=j+1;car[i].position=k+1;car[i].time=5;for(j=0;j<i;++j)car[j].time=car[j].time+5;if((fp=fopen("car.dat","w"))==NULL){printf("cannotopenthisfile\n");exit(0);}for(j=0;j<i+1;++j)fprintf(fp,"car[%d].carnumber=%d\ncar[%d].floor=%d\ncar[%d].position=%d\ncar[%d].time=%d\n”,j,car[j].carnumber,car[j].floor,car[j].position,car[j].time);fclose(fp);printf("\n停車成功!\n");printf("\n");++i;}(2)取車模塊【需求分析】首先輸入所取車輛的車牌號,若與車庫中所停車輛相符,則取車成功。之后根據(jù)用戶的選擇判斷是否需要顯示停車費用,此功能可用if條件語句實現(xiàn)。若需要,按每5分鐘0.2元算出金額并顯示出來。取車后須將該車停車紀(jì)錄從文件中刪除。若輸入的車牌號與車庫中所停車輛不符,則應(yīng)給予提示。取車模塊流程圖如圖3-2所示。【程序】圖3-2取車模塊流程圖elseif(a=='2'){charb;printf("\n請輸入車牌號:");scanf("%d",&carNO);for(j=0;j<i;++j){if(carNO==car[j].carnumber){printf("\n是否輸出停車費用?(Y/N)”);scanf("%c”,&b);if(b=='Y'){fee=car[j].time/5.0*0.2;printf("車牌號:%d停車費:",carNO);printf("%f元\n歡迎下次光臨!\n",fee);}elseif(b=='N')printf("\n歡迎下次光臨!\n");elseprintf("\n輸入錯誤!\n");printf("\n");park[j/6][j%6]=0;if((fp=fopen("car.dat”,"w"))==NULL){printf("cannotopenthisfile\n");exit(0);}for(k=0;k<j;++k)fprintf(fp,"car[%d].carnumber=%d\ncar[%d].floor=%d\n car[%d].position=%d\ncar[%d].time=%d\n”,k,car[k].carnumber,car[k].floor,car[k].position,car[k].time);for(++k;k<i;++k)fprintf(fp,"car[%d].carnumber=%d\ncar[%d].floor=%d\n car[%d].position=%d\ncar[%d].time=%d\n”,k,car[k].carnumber,car[k].floor,car[k].position,car[k].time);fclose(fp);printf("\n");break;}}if(j==i){printf("\n輸入錯誤!\n\n");elsecontinue;}(3)車輛信息瀏覽模塊【需求分析】該模塊的功能是顯示所有學(xué)生的紀(jì)錄信息。其流程圖如圖 3-3所示。|開始:
顯示車輛信息返回主菜單Ij結(jié)束\圖3-3車輛信息瀏覽模塊流程圖【程序】elseif(a=='3'){printf("\n 停車場所有車輛信息如下:\n\n");printf(- 車牌號層號車位號停車時間\n");for(j=0;j<2;++j){for(k=0;k<6;++k){if(park[j][k]!=0)printf(" %d%d%d %d\n",car[j*6+k].carnumber,car[j*6+k].floor,car[j*6+k].position,car[j*6+k].time);elsecontinue;}}if((fp=fopen("car.dat","w"))==NULL){printf("cannotopenthisfile\n");exit(0);}}(4)退出模塊【程序】elseif(a=='4')break;四、運行結(jié)果
(1)主菜單:效果如圖4-1所示。忒"c:\^sualstudio_6.o_CH5_52£.com\comoN^MSDEV98\piN\oebug\i.eMe,i 主菜單.停肇迫■■■■1234請輸入城宇鍵圖4-1主菜單(2)停車模塊輸入”1”按下”enter”鍵進入停車操作,如圖4-2所示。成、;亡.&1叫曰舊1:項舊_6,0jZHS_52c.CDm\C0PM0N^M3DEVJ98\piN\Debug\1.e^e"請輸入數(shù)宇鍵123請輸入數(shù)宇鍵1234停當(dāng)退
■■■■信息瀏覽請輸入車髀號:"<""C:-\¥^ualStuciD_6.0l.CH5_52e.ccm\CaMMON\MSDE79?\BINiDebug\1..exe"車車?yán)瓮4滠囓嚴(yán)瓮4銶■■■■1234信息瀏覽Hff輸入車牌號:皿馳懵車成功,J4次土主菜曲>b>tMKXXXKXX4*KWXKKKW>CM*請輸入數(shù)宇橫車車?yán)淄-M請輸入數(shù)宇橫車車?yán)淄-M1234-信息瀏覽「青輸入車牌號位皿混成功,「青輸入車牌號位皿混成功,圖4-3輸入車牌號根據(jù)需要再停入兩輛車,如圖4-4、4-5所示。信息瀏覽且JI且且且:且且■■,且暑■具且信息瀏覽且JI且且且:且且■■,且暑■具且■■且且煮■且且■具具具且具具具且H.具JL且蛛具R.且隆具且■且*<"CAVEualStudo6.0-CHS-CCTTi\CCMMON\MSDEY98\BIN\Debug\l..eKeI諄翠退圭輛信息瀏覽每請榆入數(shù)字飽1234
信息、瀏覽請輸入數(shù)字橫■主栗尊四停冷.這1234"輸入車牌號:"弱儡車成珈4.信息、瀏覽請輸入數(shù)字橫■主栗尊四停冷.這1234"輸入車牌號:"弱儡車成珈4.圖4-5停入第三輛車(3)取車模塊輸入”2”按下”enter”鍵進入取車操作,如圖4-6所示。技"t;\M5UfllStudio_6,0jZH3_d£c.EDm\C0MM0N^MSDEy98\piN\Debug\1.bke11舞*■:?%*裝:MX*殖:MM:XX,M:%X:KJC王菜^單?■舞%菩置舞)0<廈舞椅菩行"*%知置*逋車車面
停肇迫1234請輸入數(shù)字鍵請輸入車牌號=忒"t;\V1SufllS:udiD_6.0_CHS_52c.edin\COr/MON^MSDEV98\piN\Debug\1.eke"請輸入數(shù)字鍵4車曹
±234覽息請輸入數(shù)字鍵4車曹
±234覽息:請輸入牛牌號口4島號否輸出停車費用?<¥/N)圖4-7輸入車牌號根據(jù)提示輸入”Y”,如圖4-8所示。忒"t;\V1SufllS:udiD_6.0_CHS_52c.edin\COr/MON^MSDEV98\piN\Debug\1.eke"9請輸入車牌號=3156?是否箭出停車菟腎《YzWY _蘭牌號:3456停年費涸.2酒麗町L彌迎F次光臨, ’請輸入數(shù)
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際關(guān)系學(xué)院《工程力學(xué)與機械設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北環(huán)境工程學(xué)院《護理學(xué)基礎(chǔ)技術(shù)(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京航空航天大學(xué)金城學(xué)院《細(xì)胞生物學(xué)課程設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州城市職業(yè)學(xué)院《戰(zhàn)略管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東新安職業(yè)技術(shù)學(xué)院《生物化學(xué)及實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 長春師范大學(xué)《汽車底盤構(gòu)造與維修》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西華澳商貿(mào)職業(yè)學(xué)院《移動通信技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 大學(xué)生畢業(yè)實習(xí)計劃
- 大一新生軍訓(xùn)心得感悟(28篇)
- 農(nóng)村亂占耕地建房問題整治工作匯報范文(3篇)
- 2025年環(huán)衛(wèi)工作計劃
- 品質(zhì)巡檢培訓(xùn)課件
- 初驗整改報告格式范文
- 2023青島版數(shù)學(xué)三年級下冊全冊教案
- 建設(shè)工程總承包EPC建設(shè)工程項目管理方案1
- T-CSUS 69-2024 智慧水務(wù)技術(shù)標(biāo)準(zhǔn)
- (2024)竹產(chǎn)業(yè)生產(chǎn)建設(shè)項目可行性研究報告(一)
- 《零起點學(xué)中醫(yī)》課件
- 2024年度酒店智能化系統(tǒng)安裝工程合同
- 2025年春部編版四年級語文下冊教學(xué)計劃
- 扣好人生的第一??圩友葜v稿國旗下的講話
評論
0/150
提交評論