停車場管理系統——C語言_第1頁
停車場管理系統——C語言_第2頁
停車場管理系統——C語言_第3頁
停車場管理系統——C語言_第4頁
停車場管理系統——C語言_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、停車場管理系統【要求】(1)有一個兩層的停車場,每層有6個車位,當第一層車停滿后才允許使用第二層(停車場可用一個二維數組實現,每個數組元素存放一個車牌號),每輛車的信息包括車牌號、層號、車位號、停車時間共4項,其中停車時間按分鐘計算。(2)假設停車場初始狀態為第一層已經有4輛車,其車位號依次為14,停車時間依次為20,15,10,5,即先將這4輛車的信息存入文件car.dat中(數組的對應元素也要進行賦值)。(3)停車操作:當一輛車進入停車場時,先輸入其車牌號,再為它分配一個層號和一個車位號(分配前先查詢車位的使用情況,如果第一層有空位則必須停在第一層),停車時間設為5,最后將新停入的汽車的信

2、息添入文件car.dat中,并將在此之前的所有停車時間加5。(4)收費管理(取車):當有車離開時,輸入其車牌號,先按其停車時間計算費用,每5分鐘0.2元(停車費用可設置一個變量進行保存),同時從文件car.dat中刪除該車的信息,并將該車對應的車位設置為可用狀態(即二維數組對應元素清零),按用戶的選擇來判斷是否要輸出停車收費的總計。(5)輸出停車場中全部車輛的信息。(6)退出系統。【提示】(1)需求分析:車輛信息要用文件儲存,提供文件的輸入輸出操作;當車要離開時要刪除文件中該車的信息,因而要提供文件的刪除操作;另外還要用鍵盤式菜單實現功能選擇。(2)總體設計:整個管理系統可設計為停車模塊、取車

3、模塊、車輛信息瀏覽模塊。二、總體設計根據上面的需求分析,可以將這個系統的設計分為四大模塊(如圖2-1):停車、取車、車輛信息瀏覽、退出。其中主要功能是停車、取車、車輛信息瀏覽三個模塊。停車場管理退出停車車輛信息瀏覽取車圖2-1系統功能模塊圖根據模塊圖可畫出總的流程圖(圖2-2)NY開始結束顯示一系列功能選項根據n的值運行相應模塊程序輸入n,判斷m是否是14?圖2-2 總流程圖三、詳細設計1、車輛信息車輛信息包括車牌號、層號、車位號、停車時間,將這四類數據組合成結構體car,以便于引用。【程序】struct carint carnumber;int floor;int position;int

4、time;car12;2、車位信息由于停車場有兩層,每層六個車位,故車位信息可由一個二維數組park26表示,注意停車場中已經停放了4輛車,設這四輛車的車牌號為6840,4167,3548,9201。【程序】int park26=6840,4167,3548,9201,0,0,0,0,0,0,0,0;car0.carnumber=6840;car0.floor=1;car0.position=1;car0.time=20;car1.carnumber=4167;car1.floor=1;car1.position=2;car1.time=15;car2.carnumber=3548;car2.

5、floor=1;car2.position=3;car2.time=10;car3.carnumber=9201;car3.floor=1;car3.position=4;car3.time=5;3、主菜單共包括四項功能:停車、取車、車輛信息瀏覽、退出。【程序】for(;)printf("nn *主菜單*nn");printf(" 請輸入數字鍵:n");printf(" 1.停車n");printf(" 2.取車n");printf(" 3.車輛信息瀏覽n");printf(" 4.退

6、出nn");printf(" *nn");scanf(" %c",&a); 4、各功能模塊設計(1)停車模塊【需求分析】題目要求必須在一層停滿的情況下才能在第二層停車,因此可以利用for語句保證先將第一層停滿,設置停車時間為5分鐘并將原有車輛的停車時間加5分鐘。進行分析時先打開文件檢查停車車牌號,若打開文件操作出錯則提示不能執行。停車模塊流程圖如圖3-1所示。NY開始輸入用戶要停車輛的車牌號打開文件出錯?提示無法打開文件顯示停車成功!關閉文件返回主菜單結束圖3-1 停車模塊流程圖【程序】if(a='1')printf(&

7、quot;n請輸入車牌號:");scanf("%d",&cari.carnumber);for(j=0;j<2;+j)for(k=0;k<6;+k)if(parkjk=0)parkjk=cari.carnumber;break;if(parkjk=cari.carnumber)break;cari.floor=j+1;cari.position=k+1;cari.time=5;for(j=0;j<i;+j)carj.time=carj.time+5;if(fp=fopen("car.dat","w"

8、) =NULL)printf("cannot open this filen");exit(0);for(j=0;j<i+1;+j)fprintf(fp,"car%d.carnumber=%dn car%d.floor=%dn car%d.position=%dn car%d.time=%dn",j,carj.carnumber,carj.floor,carj.position,carj.time);fclose(fp);printf("n停車成功!n");printf("n");+i;(2)取車模塊【需求分

9、析】首先輸入所取車輛的車牌號,若與車庫中所停車輛相符,則取車成功。之后根據用戶的選擇判斷是否需要顯示停車費用,此功能可用if條件語句實現。若需要,按每5分鐘0.2元算出金額并顯示出來。取車后須將該車停車紀錄從文件中刪除。若輸入的車牌號與車庫中所停車輛不符,則應給予提示。取車模塊流程圖如圖3-2所示。NYYN結束輸入所取車輛的車牌號碼是否找到停車紀錄?提示輸入錯誤詢問是否輸出費用?顯示停車費用開始返回主菜單圖3-2取車模塊流程圖【程序】else if(a='2')char b;printf("n請輸入車牌號:");scanf("%d",&a

10、mp;carNO);for(j=0;j<i;+j)if(carNO=carj.carnumber)printf("n是否輸出停車費用?(Y/N)");scanf(" %c",&b);if(b='Y')fee=carj.time/5.0*0.2;printf("車牌號:%d 停車費:",carNO);printf("%f元n歡迎下次光臨!n",fee);else if(b='N')printf("n歡迎下次光臨!n");else printf(&quo

11、t;n輸入錯誤!n");printf("n");parkj/6j%6=0;if(fp=fopen("car.dat","w")=NULL)printf("cannot open this filen");exit(0);for(k=0;k<j;+k)fprintf(fp,"car%d.carnumber=%dn car%d.floor=%dn car%d.position=%dn car%d.time=%dn",k,cark.carnumber,cark.floor,cark.p

12、osition,cark.time);for(+k;k<i;+k)fprintf(fp,"car%d.carnumber=%dn car%d.floor=%dn car%d.position=%dn car%d.time=%dn",k,cark.carnumber,cark.floor,cark.position,cark.time);fclose(fp);printf("n");break;if(j=i)printf("n輸入錯誤!nn");else continue;(3)車輛信息瀏覽模塊【需求分析】該模塊的功能是顯示所有學

13、生的紀錄信息。其流程圖如圖3-3所示。開始結束顯示車輛信息返回主菜單圖3-3 車輛信息瀏覽模塊流程圖【程序】else if(a='3')printf("n 停車場所有車輛信息如下:nn");printf(" 車牌號 層號 車位號 停車時間n");for(j=0;j<2;+j)for(k=0;k<6;+k)if(parkjk!=0)printf(" %d %d %d %dn",carj*6+k.carnumber,carj*6+k.floor,carj*6+k.position,carj*6+k.time);

14、else continue;if(fp=fopen("car.dat","w")=NULL)printf("cannot open this filen");exit(0); (4)退出模塊【程序】else if(a='4')break;四、運行結果(1)主菜單:效果如圖4-1所示。圖4-1 主菜單(2)停車模塊輸入”1”按下”enter”鍵進入停車操作,如圖4-2所示。圖4-2 停車模塊根據提示輸入車牌號按下”enter”鍵,如圖4-3所示。圖4-3 輸入車牌號根據需要再停入兩輛車,如圖4-4、4-5所示。圖4-4 停入

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論