大學 C語言 停車場管理系統(tǒng) 設計c語言課程設計 (含調試圖)

上傳人:優(yōu)*** 文檔編號:35891476 上傳時間:2021-10-28 格式:DOC 頁數:15 大小:282KB
收藏 版權申訴 舉報 下載
大學 C語言 停車場管理系統(tǒng) 設計c語言課程設計 (含調試圖)_第1頁
第1頁 / 共15頁
大學 C語言 停車場管理系統(tǒng) 設計c語言課程設計 (含調試圖)_第2頁
第2頁 / 共15頁
大學 C語言 停車場管理系統(tǒng) 設計c語言課程設計 (含調試圖)_第3頁
第3頁 / 共15頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《大學 C語言 停車場管理系統(tǒng) 設計c語言課程設計 (含調試圖)》由會員分享,可在線閱讀,更多相關《大學 C語言 停車場管理系統(tǒng) 設計c語言課程設計 (含調試圖)(15頁珍藏版)》請在裝配圖網上搜索。

1、 真誠為您提供優(yōu)質參考資料,若有不當之處,請指正。 Xxxxx大學 xxxxxxxxxxx系 20xx-20xx學年第一學期 《C程序設計》課程設計 題目名稱: 停車場管理系統(tǒng)設計 姓 名 : 學 號 : 班 級 : 指導教師 :

2、 編寫日期 : 20 年1月5日—20 年1月31日 成績: 1 / 15 目錄 (一)需求分析 3 1-1停車 3 1-2取車 3 1-3功能的選擇 3 (二)總體設計(程序設計組成框圖) 3 2-1停車模塊 3 2-2取車模塊 3 2-3車輛信息瀏覽模塊 4 2-4程序設計組成框圖 4 (三)詳細設計 4 3-1停車場分析 4 3-2停車操作 4 3-3收費管理(取車) 5 3-4車輛信息 5 3-5退出系統(tǒng) 5 (四)程序運行結果測試與分析 5 (五)結論與心得 7 (六)參考文獻 7 (七

3、)致謝 8 附錄: 8 (一)需求分析 1-1停車 車輛信息要用文件存儲,因而要提供文件的輸入輸出操作。 1-2取車 當車離開時,要刪除文件中 該車的信息, 因而要提供文件的刪除操作。 1-3功能的選擇 提供現(xiàn)實操作和用鍵盤式菜單實現(xiàn)功能選擇。 (二)總體設計(程序設計組成框圖) 2-1停車模塊 對車輛信息賦值,分配前檢查車位使用情況(按行查找 park 數組,元素為 0 表示車位 為空,則允許分配) 。把新添加的車輛信息以追加的方式寫入汽車信息文件,并更改汽車信 息文件中其他汽車信息的停車時間(停車時間加 5) 。 2-2取車模塊 計算費用(停車費用=停車時

4、間*0.2 元) ,從文件中刪除該車信息。并將該車位對應的 二位數組變量設為 0,表示該車位可用。輸出提示信息:是否輸出停車費用總計?(Y/N) 如果選擇 Y,則輸出停車費用,否則回到上級菜單。 2-3車輛信息瀏覽模塊 輸出車輛信息文件中的記錄。 另外,用戶按 Esc 鍵退出系統(tǒng)。 2-4程序設計組成框圖 停車場管理系統(tǒng) 取車 查看全部車輛信息 停車 退出 (三)詳細設計 3-1停車場分析 有一個兩層的停車場, 每層有6個車位, 當第一層車停滿后才允許使用第二層。 ( 停車場可用一個二維數組實現(xiàn), 每個數組元素存放一個車牌號 ) 假設停車場初始狀態(tài)為第

5、一層已經停有4輛車, 其車位號依次為1—4 , 停車時間依次為20, 15, 10 , 5 . 即先將這四輛車的信息存入文件”car.dat”中。( 數組的對應元素也要進行賦值 ) 3-2停車操作 當一輛車進入停車場時, 先輸入其車牌號, 再為它分配一個層號和一個車位號(分配前先查詢車位的使用情況, 如果第一層有空則必須停在第一層), 停車時間設為5 , 最后將新停入的汽車的信息添加文件 ”car.dat”中, 并將在此之前的所有車的停車時間加5。 3-3收費管理(取車) 當有車離開時, 輸入其車牌號, 先按其停車時間計算費用, 每5分鐘0.2元. (停車費用可設置一個變量進行保

6、存), 同時從文件”car.dat”中刪除該車的信息, 并將該車對應的車位設置為可使用狀態(tài)(即二維數組對應元素清零). 按用戶的選擇來判斷是否要輸出停車收費的總計。 3-4車輛信息 輸出停車場中全部車輛的信息。 3-5退出系統(tǒng) 退出系統(tǒng)。 (四)程序運行結果測試與分析 系統(tǒng)初始運行時,會顯示如圖4-1所示的輸入界面,用戶可以根據提示,進行相應的選擇,來完成系統(tǒng)提供的各種功能。根據系統(tǒng)提示提示用戶選擇相應的數字鍵,按ENTER鍵后進入相應的功能菜單。如下圖4-2是輸入1,顯示停車以及所需用戶的車牌號輸入后按ENTER鍵進入所要放車的停車位菜單,其中包含了系統(tǒng)分配的層號和一個車位號

7、即圖4-3 下面即為此程序執(zhí)行此功能時的截圖: 圖4-1輸入界面 圖4-2輸入1和車牌號界面 圖4-3詳細信息界面 (五)結論與心得 通過這次實習,讓我初步有了編寫小系統(tǒng)的能力,我對很多的函數有了新的認識,也學會了運用多種函數,也明白了編寫軟件的基本過程和基本方法。編寫軟件的過程中我又學到了曾經自己不知道的函數或是自己不會的函數的用法。這次課程設計課總的來說讓我受益匪淺。 在軟件的設計過程中遇到了很多的困難。在軟件一次一次的調試失敗下,曾經想過要放棄。我最后還是堅持了下來,毫不畏懼困難,在一起討論論證到底是用什么函數

8、,什么樣的循環(huán)來最簡單的實現(xiàn)程序的功能,經過幾個日夜的努力我總算是順利的完成了軟件的設計。 在程序的編寫過程中我發(fā)現(xiàn)有很多的知識漏洞和缺陷,需要進一步努力學習來鞏固完善自己的知識面。在這幾天的編寫過程中我對c語言有了更進一步的認識和了解。此次編程過程的經驗和知識肯定能促進我以后的學習,更是對我今后參加電子設計類軟件編程大賽有較大的幫助 (六)參考文獻 [1]譚浩強,《C程序設計(第四版)》,北京:清華大學出版社,2010.6 [2] (七)致謝 能夠完成這次課程設計要感謝c語言課程的老師,感謝老師的悉心教導,幫助改錯,還要感謝各位同學的幫助,我會繼續(xù)努力的。

9、 附錄: 程序源代碼: #include #include #include struct Garage { char carnum[8]; /*車牌號*/ int lay; //層號 int garagenum; /*車位號*/ int time; /*停車時間*/ int isempty; /*該車位是否為空,1表示空,0表示有車*/ };/*打印使用說明*/ void Instruction() { printf(" 停車場管理系統(tǒng)使用說明\n"); printf(" 停車請輸入 1

10、取車請輸入 2 \n"); printf(" 查看全部車輛的信息請輸入 3 退出請輸入 0 \n"); }/*初始化停車場信息,初始狀態(tài)為第一層已經停有4輛車, * 其車位號依次為1-4 , 停車時間依次為20, 15, 10 , 5 */ void Init(struct Garage gar[][6]) { int i, j; /*給所有的車位的層號,車位號初始化,停車時間初始化為0,停車位全都初始化為空*/ for (i=0; i<2; i++) { for (j=0; j<6; j++) { gar[i][j].lay = i+1; gar[i][j

11、].garagenum = j+1; gar[i][j].time = 0; gar[i][j].isempty = 1; } } /*第一層的1-4號車位停車*/ for (i=0; i<4; i++) { gar[0][i].isempty =0; } strcpy(gar[0][0].carnum, "0000"); /*初始化的車牌號*/ gar[0][0].time = 20; strcpy(gar[0][1].carnum, "1111"); gar[0][1].time = 15; strcpy(gar[0][2].carnum, "

12、2222"); gar[0][2].time = 10; strcpy(gar[0][3].carnum, "3333"); gar[0][3].time = 5;} /*新停入的汽車后,將在此之前的所有車的停車時間加5*/ void AddTime(struct Garage gar[][6]) { int i, j; for (i=0; i<2; i++) { for (j=0; j<6; j++) { if (gar[i][j].isempty == 0) { gar[i][j].time += 5; } } } } /*停車*/ vo

13、id Park(struct Garage gar[][6]) { int i; char num[8]; printf("請輸入車牌號:"); scanf("%s", num); for (i=0; i<6; i++) { if (gar[0][i].isempty == 1) { printf("第一層第%d號車位空著,請在此處停車\n", i+1); strcpy(gar[0][i].carnum, num); printf("車牌號:%s 層號:1 車位號: %d \n", num, i+1); AddTime(gar); /*在此之前停車的所有汽車時間加5

14、*/ gar[0][i].isempty = 0; /*表示該車為已經停車*/ gar[0][i].time = 5; /*將時間設為5*/ return; } } printf("第一層已經沒有空車位\n"); for (i=0; i<6; i++) { if (gar[1][i].isempty == 1) { printf("第二層第%d號車位空著,請在此處停車\n", i+1); strcpy(gar[1][i].carnum, num); printf("車牌號:%s 層號:2 車位號: %d \n", num ,i+1); AddTi

15、me(gar); /*在此之前停車的所有汽車時間加5*/ gar[1][i].isempty = 0; /*表示該車位已經停車*/ gar[1][i].time = 5; /*將時間設為5*/ return; } } printf("對不起,1 2層都沒有空車位,您現(xiàn)在不能在此停車\n"); } /*查看所有車輛信息*/ void Information(struct Garage gar[][6]) { int i, j; printf(" 車牌號 層號 車位號 停車時間\n"); for (i=0; i<2; i++) { for(j=0; j<6

16、; j++) { if (gar[i][j].isempty == 0) printf(" %s%8d%8d%8d\n", gar[i][j].carnum, gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time); } } printf("\n"); } /*取車*/ double Leave(struct Garage gar[2][6]) { int i, j; char num[8]; double charge = 0; printf("請輸入要取的車牌號:"); scanf("%s", nu

17、m); for (i=0; i<2; i++) { for (j=0; j<6; j++) { if (!strcmp(gar[i][j].carnum, num)) { printf("您在%d層%d車位停車%d分鐘\n", gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time); charge = gar[i][j].time/5*0.2; printf("停車費用為每5分鐘0.2元,您需交%.2lf元\n", charge); gar[i][j].isempty = 1; return charge; }

18、 } } printf("沒有您輸入的車號。\n\n"); return charge; } /*是否查看總收入*/ void IsPrintTotal(double total) { char ch; printf("是否查看停車收費總計?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:

19、case y: printf("停車收費總計為%.2lf元\n", total); break; case N: case n: break; } } main() { int choice; double total = 0; struct Garage gar[2][6]; Init(gar); //初始化第一層已經停有的4輛車 while (1) { Instruction(); printf("請輸入要進行的操作:"); scanf("%d", &choice); while (choice<0 || choice>3) { printf("輸入的不合法,請輸入0-3選擇:"); scanf("%d", &choice); } switch (choice) { case 1: Park(gar); break; case 2: total += Leave(gar); IsPrintTotal(total); break; case 3: Information(gar); break; case 0: exit(0); } } return 0; } 溫馨提示:最好仔細閱讀后才下載使用,萬分感謝!

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!