版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、-. z.*大學(xué)*系20*-20*學(xué)年第一學(xué)期C程序設(shè)計(jì)課程設(shè)計(jì)題目名稱:停車場管理系統(tǒng)設(shè)計(jì)姓 名 :學(xué) 號 :班 級 :指導(dǎo)教師 :編寫日期 : 20年1月5日20年1月31日成績:-. z.目錄 TOC o 1-3 h z uHYPERLINK l _Toc409085073(一)需求分析 PAGEREF _Toc409085073 h 3HYPERLINK l _Toc4090850741-1停車 PAGEREF _Toc409085074 h 3HYPERLINK l _Toc4090850751-2取車 PAGEREF _Toc409085075 h 3HYPERLINK l _To
2、c4090850761-3功能的選擇 PAGEREF _Toc409085076 h 3HYPERLINK l _Toc409085077(二)總體設(shè)計(jì)(程序設(shè)計(jì)組成框圖) PAGEREF _Toc409085077 h 3HYPERLINK l _Toc4090850782-1停車模塊 PAGEREF _Toc409085078 h 3HYPERLINK l _Toc4090850792-2取車模塊 PAGEREF _Toc409085079 h 3HYPERLINK l _Toc4090850802-3車輛信息瀏覽模塊 PAGEREF _Toc409085080 h 4HYPERLINK
3、l _Toc4090850812-4程序設(shè)計(jì)組成框圖 PAGEREF _Toc409085081 h 4HYPERLINK l _Toc409085082(三)詳細(xì)設(shè)計(jì) PAGEREF _Toc409085082 h 4HYPERLINK l _Toc4090850833-1停車場分析 PAGEREF _Toc409085083 h 4HYPERLINK l _Toc4090850843-2停車操作 PAGEREF _Toc409085084 h 4HYPERLINK l _Toc4090850853-3收費(fèi)管理(取車) PAGEREF _Toc409085085 h 5HYPERLINK l
4、 _Toc4090850863-4車輛信息 PAGEREF _Toc409085086 h 5HYPERLINK l _Toc4090850873-5退出系統(tǒng) PAGEREF _Toc409085087 h 5HYPERLINK l _Toc409085088(四)程序運(yùn)行結(jié)果測試與分析 PAGEREF _Toc409085088 h 5HYPERLINK l _Toc409085089(五)結(jié)論與心得 PAGEREF _Toc409085089 h 7HYPERLINK l _Toc409085090(六)參考文獻(xiàn) PAGEREF _Toc409085090 h 7HYPERLINK l _
5、Toc409085091(七)致 PAGEREF _Toc409085091 h 8HYPERLINK l _Toc409085092附錄: PAGEREF _Toc409085092 h 8-. z.(一)需求分析1-1停車車輛信息要用文件存儲,因而要提供文件的輸入輸出操作。1-2取車當(dāng)車離開時(shí),要刪除文件中該車的信息,因而要提供文件的刪除操作。1-3功能的選擇提供現(xiàn)實(shí)操作和用鍵盤式菜單實(shí)現(xiàn)功能選擇。(二)總體設(shè)計(jì)(程序設(shè)計(jì)組成框圖)2-1停車模塊對車輛信息賦值,分配前檢查車位使用情況(按行查找 park 數(shù)組,元素為 0 表示車位為空,則允許分配)。把新添加的車輛信息以追加的方式寫入汽車信
6、息文件,并更改汽車信息文件中其他汽車信息的停車時(shí)間(停車時(shí)間加 5)。2-2取車模塊計(jì)算費(fèi)用(停車費(fèi)用=停車時(shí)間*0.2 元),從文件中刪除該車信息。并將該車位對應(yīng)的二位數(shù)組變量設(shè)為 0,表示該車位可用。輸出提示信息:是否輸出停車費(fèi)用總計(jì)?(Y/N)如果選擇 Y,則輸出停車費(fèi)用,否則回到上級菜單。2-3車輛信息瀏覽模塊輸出車輛信息文件中的記錄。另外,用戶按 Esc 鍵退出系統(tǒng)。2-4程序設(shè)計(jì)組成框圖停車場管理系統(tǒng)取車查看全部車輛信息 停車 退出(三)詳細(xì)設(shè)計(jì)3-1停車場分析有一個(gè)兩層的停車場, 每層有6個(gè)車位, 當(dāng)?shù)谝粚榆囃M后才允許使用第二層。 ( 停車場可用一個(gè)二維數(shù)組實(shí)現(xiàn), 每個(gè)數(shù)組元素
7、存放一個(gè)車牌號 )假設(shè)停車場初始狀態(tài)為第一層已經(jīng)停有4輛車, 其車位號依次為14 , 停車時(shí)間依次為20, 15, 10 , 5 . 即先將這四輛車的信息存入文件”car.dat”中。( 數(shù)組的對應(yīng)元素也要進(jìn)行賦值 )3-2停車操作當(dāng)一輛車進(jìn)入停車場時(shí), 先輸入其車牌號, 再為它分配一個(gè)層號和一個(gè)車位號(分配前先查詢車位的使用情況, 如果第一層有空則必須停在第一層), 停車時(shí)間設(shè)為5 , 最后將新停入的汽車的信息添加文件”car.dat”中, 并將在此之前的所有車的停車時(shí)間加5。3-3收費(fèi)管理(取車)當(dāng)有車離開時(shí), 輸入其車牌號, 先按其停車時(shí)間計(jì)算費(fèi)用, 每5分鐘0.2元. (停車費(fèi)用可設(shè)置
8、一個(gè)變量進(jìn)行保存), 同時(shí)從文件”car.dat”中刪除該車的信息, 并將該車對應(yīng)的車位設(shè)置為可使用狀態(tài)(即二維數(shù)組對應(yīng)元素清零). 按用戶的選擇來判斷是否要輸出停車收費(fèi)的總計(jì)。3-4車輛信息 輸出停車場中全部車輛的信息。3-5退出系統(tǒng) 退出系統(tǒng)。(四)程序運(yùn)行結(jié)果測試與分析系統(tǒng)初始運(yùn)行時(shí),會顯示如圖4-1所示的輸入界面,用戶可以根據(jù)提示,進(jìn)行相應(yīng)的選擇,來完成系統(tǒng)提供的各種功能。根據(jù)系統(tǒng)提示提示用戶選擇相應(yīng)的數(shù)字鍵,按ENTER鍵后進(jìn)入相應(yīng)的功能菜單。如下圖4-2是輸入1,顯示停車以及所需用戶的車牌號輸入后按ENTER鍵進(jìn)入所要放車的停車位菜單,其中包含了系統(tǒng)分配的層號和一個(gè)車位號即圖4-3
9、下面即為此程序執(zhí)行此功能時(shí)的截圖:圖4-1輸入界面圖4-2輸入1和車牌號界面圖4-3詳細(xì)信息界面(五)結(jié)論與心得通過這次實(shí)習(xí),讓我初步有了編寫小系統(tǒng)的能力,我對很多的函數(shù)有了新的認(rèn)識,也學(xué)會了運(yùn)用多種函數(shù),也明白了編寫軟件的基本過程和基本方法。編寫軟件的過程中我又學(xué)到了曾經(jīng)自己不知道的函數(shù)或是自己不會的函數(shù)的用法。這次課程設(shè)計(jì)課總的來說讓我受益匪淺。在軟件的設(shè)計(jì)過程中遇到了很多的困難。在軟件一次一次的調(diào)試失敗下,曾經(jīng)想過要放棄。我最后還是堅(jiān)持了下來,毫不畏懼困難,在一起討論論證到底是用什么函數(shù),什么樣的循環(huán)來最簡單的實(shí)現(xiàn)程序的功能,經(jīng)過幾個(gè)日夜的努力我總算是順利的完成了軟件的設(shè)計(jì)。在程序的編寫
10、過程中我發(fā)現(xiàn)有很多的知識漏洞和缺陷,需要進(jìn)一步努力學(xué)習(xí)來鞏固完善自己的知識面。在這幾天的編寫過程中我對c語言有了更進(jìn)一步的認(rèn)識和了解。此次編程過程的經(jīng)驗(yàn)和知識肯定能促進(jìn)我以后的學(xué)習(xí),更是對我今后參加電子設(shè)計(jì)類軟件編程大賽有較大的幫助(六)參考文獻(xiàn)1譚浩強(qiáng),C程序設(shè)計(jì)(第四版),:清華大學(xué),2010.6 2.baidu.(七)致能夠完成這次課程設(shè)計(jì)要感c語言課程的老師,感老師的悉心教導(dǎo),幫助改錯,還要感各位同學(xué)的幫助,我會繼續(xù)努力的。附錄:程序源代碼:#include #include #include struct Garage char carnum8; /*車牌號*/ int lay; /
11、層號 int garagenum; /*車位號*/ int time; /*停車時(shí)間*/int isempty; /*該車位是否為空,1表示空,0表示有車*/;/*打印使用說明*/void Instruction() printf( 停車場管理系統(tǒng)使用說明n); printf( 停車請輸入 1 取車請輸入 2 n); printf( 查看全部車輛的信息請輸入 3 退出請輸入 0 n); /*初始化停車場信息,初始狀態(tài)為第一層已經(jīng)停有4輛車, * 其車位號依次為1-4 , 停車時(shí)間依次為20, 15, 10 , 5 */void Init(struct Garage gar6) int i, j
12、; /*給所有的車位的層號,車位號初始化,停車時(shí)間初始化為0,停車位全都初始化為空*/ for (i=0; i2; i+) for (j=0; j6; j+) garij.lay = i+1; garij.garagenum = j+1; garij.time = 0; garij.isempty = 1; /*第一層的1-4號車位停車*/ for (i=0; i4; i+) gar0i.isempty =0; strcpy(gar00.carnum, 0000); /*初始化的車牌號*/ gar00.time = 20; strcpy(gar01.carnum, 1111); gar01.t
13、ime = 15; strcpy(gar02.carnum, 2222); gar02.time = 10; strcpy(gar03.carnum, 3333); gar03.time = 5;/*新停入的汽車后,將在此之前的所有車的停車時(shí)間加5*/void AddTime(struct Garage gar6) int i, j; for (i=0; i2; i+) for (j=0; j6; j+) if (garij.isempty = 0) garij.time += 5; /*停車*/void Park(struct Garage gar6) int i; char num8;pr
14、intf(請輸入車牌號:); scanf(%s, num); for (i=0; i6; i+) if (gar0i.isempty = 1) printf(第一層第%d號車位空著,請?jiān)诖颂幫\噉, i+1);strcpy(gar0i.carnum, num); printf(車牌號:%s 層號:1 車位號: %d n, num, i+1); AddTime(gar); /*在此之前停車的所有汽車時(shí)間加5*/ gar0i.isempty = 0; /*表示該車為已經(jīng)停車*/ gar0i.time = 5; /*將時(shí)間設(shè)為5*/ return; printf(第一層已經(jīng)沒有空車位n); for
15、(i=0; i6; i+) if (gar1i.isempty = 1) printf(第二層第%d號車位空著,請?jiān)诖颂幫\噉, i+1); strcpy(gar1i.carnum, num); printf(車牌號:%s 層號:2 車位號: %d n, num ,i+1); AddTime(gar); /*在此之前停車的所有汽車時(shí)間加5*/ gar1i.isempty = 0; /*表示該車位已經(jīng)停車*/ gar1i.time = 5; /*將時(shí)間設(shè)為5*/ return; printf(對不起,1 2層都沒有空車位,您現(xiàn)在不能在此停車n);/*查看所有車輛信息*/void Informat
16、ion(struct Garage gar6) int i, j; printf( 車牌號 層號 車位號 停車時(shí)間n); for (i=0; i2; i+) for(j=0; j6; j+) if (garij.isempty = 0) printf( %s%8d%8d%8dn, garij.carnum, garij.lay, garij.garagenum, garij.time); printf(n);/*取車*/double Leave(struct Garage gar26) int i, j; char num8; double charge = 0; printf(請輸入要取的車
17、牌號:); scanf(%s, num); for (i=0; i2; i+) for (j=0; j6; j+) if (!strcmp(garij.carnum, num) printf(您在%d層%d車位停車%d分鐘n, garij.lay, garij.garagenum, garij.time);charge = garij.time/5*0.2; printf(停車費(fèi)用為每5分鐘0.2元,您需交%.2lf元n, charge); garij.isempty = 1; return charge; printf(沒有您輸入的車號。nn);return charge;/*是否查看總收入
18、*/void IsPrintTotal(double total) char ch; printf(是否查看停車收費(fèi)總計(jì)?Y/N); scanf(%c, &ch); while (ch!=y & ch!=Y & ch!=n & ch!=N) printf(請輸入Y或N ); scanf(%c, &ch); printf(n); switch (ch) case Y: case y: printf(停車收費(fèi)總計(jì)為%.2lf元n, total); break; case N: case n: break; main() int choice; double total = 0; struct Garage gar26; Init(gar); /初始化第一層已經(jīng)停有的4輛車
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 標(biāo)準(zhǔn)施工合同附件格式
- 北京市朝陽區(qū)農(nóng)村集體資產(chǎn)租賃合同書
- 經(jīng)營管理優(yōu)化
- 浙江省初中名校發(fā)展共同體期中聯(lián)考2024-2025學(xué)年七年級上學(xué)期11月期中數(shù)學(xué)試題(含答案)
- 內(nèi)蒙古赤峰市名校2024-2025學(xué)年高一上學(xué)期期中聯(lián)考?xì)v史試題(含答案)
- 廣東省惠州市惠東縣2024-2025學(xué)年九年級上學(xué)期期中物理試卷(含答案)
- 安徽省合肥市新站高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)2024-2025學(xué)年七年級上學(xué)期期中英語試題(含答案)
- 廣東省廣州市番禺區(qū)2024-2025學(xué)年三年級上冊期中語文試卷(含答案)
- 系列自動遙測氣象站相關(guān)行業(yè)投資方案
- 非鐵分選提純設(shè)備行業(yè)相關(guān)投資計(jì)劃提議范本
- 2022-2023學(xué)年高中政治統(tǒng)編版必修一:第四課 只有堅(jiān)持和發(fā)展中國特色社會主義才能實(shí)現(xiàn)中華民族偉大復(fù)興 課件(22張)
- 各種樣式聘書模板范本
- H3C ONEStor存儲技術(shù)白皮書
- 《紅星照耀中國》導(dǎo)讀激趣課教學(xué)設(shè)計(jì)王浩
- 關(guān)愛隨班就讀殘疾兒童活動記錄表
- 關(guān)聯(lián)詞專題復(fù)習(xí)課件
- 國家自然科學(xué)基金經(jīng)驗(yàn)交流課件
- 數(shù)學(xué)學(xué)困生轉(zhuǎn)化方案
- 蘇科版勞動與技術(shù)一年級上冊《02各種各樣的職業(yè)》課件
- 一百天學(xué)開中藥方知識講解
- 黑板風(fēng)2022大學(xué)學(xué)生會干部競選PPT模板
評論
0/150
提交評論