c語言實習(xí)報告 停車場管理系統(tǒng)_第1頁
c語言實習(xí)報告 停車場管理系統(tǒng)_第2頁
c語言實習(xí)報告 停車場管理系統(tǒng)_第3頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c語言實習(xí)報告 停車場管理系統(tǒng)c語言課程設(shè)計院系:工程學(xué)院姓名:姚 品 品學(xué)號:2005100165班號:指導(dǎo)教師:王老師日期:27年月一 課程設(shè)計編號、名稱、內(nèi)容編號:第二十七題名稱:停車場管理系統(tǒng)2內(nèi)容:要求(1) 有一個兩層的停車場,每層有個車位,當(dāng)?shù)谝粚榆囃M是才允許在第二層停車,(停車場可用一個二維數(shù)組來實現(xiàn),每個數(shù)組中存放一個車牌號)每輛車的信息包括車牌號,層號,車位號,停車時間共4項,其中停車時間按分鐘計算(2) 假設(shè)停車場初始狀態(tài)為第一層已經(jīng)停有四輛,車其車位號依次為4,停車時間依次為2,1,10,5。即先將這四倆車的信息存入文件“carat”中(數(shù)組的對應(yīng)元素也要進(jìn)行賦值)(

2、3) 停車操作:當(dāng)一輛車進(jìn)入停車場時,先輸入其車牌號,再為它分配一個層號和一個車位號(分配前先查詢車位的使用情況,如果第一層有空則必須停在第一層),停車時間設(shè)為5,最后將新停入的汽車的信息添加文件”adat”中,并將在此之前的所有車的 停車時間加5.(4) 收費管理(取車):當(dāng)有車離開時,輸入其車牌號,先按其停車時間計算費用每5分鐘0.2元(停車費用可設(shè)置一個變量進(jìn)行保存),同時從文件”ada”中刪除該車的 信息,并將該車對應(yīng)的車位設(shè)置為可使用狀態(tài)(即二維數(shù)組對應(yīng)元素清零).按用戶的選擇來判斷是否要輸出停車收費的總計.(5) 輸出停車場中全部車輛的信息.(6) 退出系統(tǒng).提示(1) 需求分析車

3、輛信息要用文件存儲,提供文件的輸入輸出操作;當(dāng)車離開時要刪除文件中該車的信息,因而要提供文件的刪除操作;另外還要用鍵盤式菜單實現(xiàn)功能選擇.(2) 總體設(shè)計整個管理系統(tǒng)可設(shè)計為停車模塊、取車模塊、車輛信息瀏覽模塊.二.總體設(shè)計 該題目為一個兩層停車場的停車,取車以及對停車場內(nèi)現(xiàn)有所有車輛信息的瀏覽問題。車輛的信息包括車牌號碼,層號,車位號以及停車時間4四項信息,可以用一個結(jié)構(gòu)體來實現(xiàn)。雙層停車場的信息可以有一個二維數(shù)組來實現(xiàn)。三.模塊設(shè)計 .停車信息結(jié)構(gòu)體 車輛信息包括車牌號carno,層號loor,車位號posito,停車時間tme,把四個成員作為結(jié)構(gòu)體ca的成員以便處理 stuct car

4、int carno;i flo;itostion;intime;car12車位信息數(shù)組 因為停車場為兩層,每層6個車位,所以定義一個二維數(shù)組park26來存儲結(jié)構(gòu)體n prk26 3.主菜單四項功能 )停車(tin che) 2)取車(u he) 3)瀏覽(liu ln))退出(tui u)程序:for(; ;) prntf( plese ose: 1停車 取車 3輸出停車場中全部車輛的信息 0退出n ); 4.車位分析和停車模塊因為只有第一層車位停滿才能在第二層停車,所以在停車之前先要對車位的情況進(jìn)行分析,然后停車,停車時停車時間為5分鐘,原有車輛停車時間加5分鐘。進(jìn)行分析時先打開文件檢查停

5、車車牌號是否為nul,是的話就可以在該車位停車,否則就不行,應(yīng)用for語句來保證第一層優(yōu)先停車。停車后存儲文件。 scanf( , a); if(a= 1) prinf( 請輸入車牌號 fpinf(tder,errr pening fie); exit(1); for ( 0; ji+1;+j) frintf(fp,ca%d.carno= %d car%.flor = %dcr%d.position = dn cr%d.time n,j,ca.carno,,cajflr ,j,jostion,j,carj.time); fclos(fp); printf(n); o (j = ;j2;+j)

6、for (k = 0; k6;+k) if(prjk=0) arkk cai.cno; beak; if(parjk cari.caro) brak; cri.floor = j+1; cai.ositon =+; caritime 5; or (j = 0; ji;+j) arjtm +=; print( 停車操作完成n )5取車模塊 取車時,輸入一車牌號,如果與文件中任何一個車牌號相同,便可以取車,并按一分鐘0.元算出停車費用,并且把該車停車記錄從文件中刪除。如果沒有這個車牌號就給出提示。if(a= 2) print(請輸入要離開車的車牌號: ); s(%d,carum); fr (j =

7、 0; ji;+j)if(crnm= carjcarn) fee (flt)crj.t/5*2;prif( 車牌號為%的停車費為: ,caru);prinf(%f,fee);pnt( -n ); pakj/6j%6 = 0; if(fp=fpen(car.da,) =nl) rintf(stder,error openig ln); exi(1); fr (k = 0; kj;+k) fprntf(fp,ar%d.carno =%nar%dfloor = %ncar%d.siton dca%d.im = %n,k,cark.carno,k,caklor,k,carkostin,k,crk.ti

8、me); fr (+k;i;+k) fprnf(p,car%d.crno dn car%.floor =%dn r%d.positin = %nca.tim = n,k,cark.can,k,cark.flor ,k,ck.pitio,,crk.tim); cls(f); print(n);ea; i(j = ) rntf( 沒有此號碼或者輸入錯誤!n ); else onine;pnt(-n ); .瀏覽模塊瀏覽即是輸出所有停車車輛的所有信息f(a=3) rinf( 停車場所有車輛信息如下: n);printf( 車牌號 層號 車位號 停車時間n);fr ( = ; j2;+j) or (

9、0;k#inclusdlib. #ie ma 2 /*車庫容量/#dfne pric.2 /每車每分鐘費用/ struct car /*車的信息* nt cro;intflr;nt tio;in im;ca12;inman() t i,j,k;it canum;loa e;計算停車費用*/ char ; fi fp; int pak2=10,102,03,1004,0,,0,0,0,0,0; /停車場狀態(tài) 若為0表示車位空,否則值為caro*/ /* 初始化已停車的信息-*/car0arno = 101; ca0oor =; ca0.position = 1; ca0tme ;ca1.cano

10、 =102;ar1floo = ;ar1.ostin = ;car1e = 15;a2ano= 100;cr2.flor ;a.sition 3;ca2.tie 10;car3.carno 04;car3.foo 1;car3.postion 4;ctim= 5;if((p=fon(ca.da,w)=ll)fprintf(tderr,erroroeningfilen);it(1); or (i = 0; i4;+i)fprinf(fp,ar%dcarno= %dn ard.or = %dn a.posiin= %d %d.tim = %dn,cai.carno,cari.oor,i,cari.

11、postion,i,catim);flo(p);prtf(n);*初始化完畢-*/ for(; ;) pif( please oose: 1停車 取車 3輸出停車場中全部車輛的信息 0退出n ); caf( %c, &a); i(a= 1) rnt( 請輸入車牌號: ); scan( d,&cari.no); for (j 0; j2;+) fr(k = ;k6;+k) f(prkj =0) park aricaro; bea; if(pakk= ricaro) brak; cari.lor = j1; ci.psito = k+; caritie = ; for( =0; ji;+j) /*

12、將在此前的所有車的停車時間加*/ arj.time +=; if(fp=open(ardat,w) =ull)/*將所有停車信息刷新后寫出到cr.da/ fprintf(derr,ror opeing fien); exit(1); fr (j = 0;ji+;+j) fpritf(fp,carcan car%d.flor %dn crd.oin =%dncar%d.tie = %dn,j,ar.carno,j,cajflor ,car.ostio,carj.ime); fose(fp); prnf(n); print( 停車操作完成 ); prt( -n ); +; else if(= 2)

13、 rin( 請輸入要離開車的車牌號: ); scan( d,&crnu); or (j 0; ji;+j)if(carm = car.carno) fee = (loat)carjim/*0.;prinf(車牌號為%d的停車費為: ,canum);pinf(%f,fee);prnt( -n ); parkj6j%6 0; (fpfoen(ar.dat,w) =nll)/將所有停車信息刷新后寫出到ca.dat/ fprntf(serr,err oning file); exit(); fo (k = 0;kj;+k) frintf(fp,ca%d.crno= d crdfloor = %dn %

14、d.posion %dn card.ime =%dn,k,car.carn,k,cakloor ,k,crk.positin,k,ar.te); for (+; ;+k) prinf(p,cadcro = %dn ard.or= %d ard.posiion %dn ar%d.ime = %dn,k,crkcarn,k,cark.flor ,k,rotio,,cr.tie); close(fp); printf(n);brek; f( = i) prntf( 沒有此號碼或者輸入錯誤!n ); ele contnue;nt( - ); es if(a= 3) pinf( 停車場所有車輛信息如下:

15、 );printf( 車牌號 層號 車位號停車時間n );for (= 0; j2;+j) for(k = ; k;+k) if(par !=)printf(%d %d %d ,carj.crno,carj*6+k.lor,crj*6+k.psition,rj*6+k.tim);lsecotinue; if((pfopen(cr.dat,))=null)/將所有停車信息刷新后寫出到car.da/ fprntf(terr,errr oenig fie); exit(1); i(-n ); es f(a= ) pitf( pe ay kto conte. ); rea; lse prif( input rro! pes ipt gain!n); pnt( - ); 程序運行結(jié)果:(1)對于停車模塊的操作如下:輸入“1”按

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論