C語言綜合程序設計---停車場管理系統(tǒng)_第1頁
C語言綜合程序設計---停車場管理系統(tǒng)_第2頁
C語言綜合程序設計---停車場管理系統(tǒng)_第3頁
C語言綜合程序設計---停車場管理系統(tǒng)_第4頁
C語言綜合程序設計---停車場管理系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)綜合性程序設計報告設計題目:_停車場管理系統(tǒng)_指導教師: _班 級: _學 號: _設 計 者: _成 績: _設計時間: 年 月 日停車場管理系統(tǒng)目錄1.題目描述2.功能模塊分解及說明3.數(shù)據(jù)庫設計及說明4.界面說明5.主要算法說明6.代碼清單及注釋7.設計測試說明8.設計體會停車場管理系統(tǒng)1.題目描述停車場的基本概述:用于利用計算機實現(xiàn)停車場的管理,包括車位調(diào)度,停車記費。車位記錄,收費管理與計算。停車場的主要功能:1.車位調(diào)度。2.停車時間與費用的計算。3.車位記

2、錄。2.功能模塊分解及說明根據(jù)題目要求,可以用結構體實現(xiàn),在程序中,需要知道每輛來車的具體停放位置,應提供提示、查找、標記工作。車輛離開要計時計費。另外,每天開始時,停車場要初始化。所以,這個系統(tǒng)可以分為:初始化、有車進入、有車離開、退出四個模塊。 eq oac(,1)菜單函數(shù):main()函數(shù)體內(nèi)包含了界面選則部分menu(),并單獨抽出來作為一個獨立函數(shù),目的在于系統(tǒng)執(zhí)行每部分模塊后能夠方便返回到系統(tǒng)界面。即main()函數(shù)寫為如下:void main()/*主函數(shù)*/menu();/*菜單函數(shù)*/void menu()int n,w;doputs(tt*MENU*nn);puts(ttt

3、 1.初始化);puts(ttt 2.有車進入);puts(ttt 3.有車離開);puts(ttt 4.退出);puts(nntt*n);printf(Please choice your number(1-4): bb);scanf(%d,&n);if(n4) /*對選擇的數(shù)字作判斷*/w=1;getchar();else w=0;while(w=1);switch(n)case 1:chushi();break; /*初始化函數(shù)*/case 2:jinru();break; /*車輛進入函數(shù)*/case 3:likai();break; /*車輛離開函數(shù)*/case 4:exit(0);

4、 /*退出*/ eq oac(,2)車道信息該模塊是將每一天開始的停車場內(nèi)和便道車位清零。首先建立場內(nèi)場外的結構體,結構體內(nèi)成員即車位的狀態(tài)。用循環(huán)實現(xiàn)車位的致零即可。struct changnei/*場內(nèi)車道信息*/int neikong;chnN-1;struct changwai/*場外車道信息*/int waikong;chwM-1;N和M分別是停車場和便道的車位預設值,用宏定義。用戶可根據(jù)實際情況改變。#define N 100/*預設停車場有100個車位*/#define M 100/*預設便道有100個出位*/ void chushi()/*初始化函數(shù)*/int i,j;for(

5、i=0;i=N-1;i+)chni.neikong=0;/*將場內(nèi)車道設置為空*/for(j=0;j=M-1;j+)chwi.waikong=0;/*將便道車道設置為空*/printf(nntt已初始化nn);menu();函數(shù)出示化后將回到菜單界面。 eq oac(,3)車輛進入函數(shù):該模塊車輛到達后,要指定車輛的停車位置。用戶根據(jù)菜單函數(shù)進入車輛進入模塊。按照每輛車的到達次序給予車輛次序號,由0號開始。車輛信息也建立結構體。struct car/*車輛信息*/int car_num;/*車輛次序號*/int car_arr;/*車輛到達時間*/int car_lef;/*車輛離開時間*/i

6、nt car_stay;/*車輛停放位置*/carCIXUHAO;其中,CIXUHAO是車輛次序號的宏定義:#define CIXUHAO 1000/*預設車輛次序號。不管車輛到達時停在場內(nèi)或便道,均依次設置一個次序號,由0開始*/給予車輛次序號之后,用循環(huán)判斷停車場是否停滿,再分別給予選擇:void jinru()/*車輛進入函數(shù)*/int i,a;int h=0;printf(nn請輸入該車次序號(從0號開始):);scanf(%d,&a);for(i=0;iN;i+)if(chni.neikong=0);/*無車標記0*/if(chni.neikong=1)/*有車標記1*/h=h+1;

7、if(h=N)printf(停車場內(nèi)已停滿,請停在便道上n);else cara.car_stay=h;chnh.neikong=1;printf(該車應該停在停車場內(nèi)第道%d(從0道開始記)n,h);printf(請輸入該車進停車場時刻(24小時整點計時):n);scanf(%d,&cara.car_arr);便道上還有車嗎?menu();程序執(zhí)行完后回到菜單。 eq oac(,4)車輛離開函數(shù):該模塊一輛車要離開,則需要記錄該車的離開時間,以計算出該車在停車場內(nèi)的停車時間和應該繳納的費用。該車離開后,要判斷便道上是否有車等待進入,如有,則將便道上第一輛車停放在停車場內(nèi)最YN后的位置并記錄好

8、進場時間;若無,則返回菜單.void likai()/*車輛離開函數(shù)*/int i,k,choi,time;double fee;printf(請輸入離開車輛次序號 ,并將此車之后的車先全部退出停車場!);scanf(%d,&i);printf(n請輸入離開車輛的離開時刻(24小時整點計時):n);scanf(%d,&cari.car_lef);fee=D*(cari.car_lef-cari.car_arr);time=cari.car_lef-cari.car_arr;printf(次序號為%d的車停車時間%d小時,應收費%f元n,i,time,fee);printf(nnn請讓場內(nèi)退出的

9、車再依次進場!nnn);printf(便道上現(xiàn)在有車嗎?(請選擇1或2)n1.有n2.沒有n);/*因便道上可能沒有車,因此要做選擇*/scanf(%d,&choi);if(choi=2)menu();if(choi=1)printf(請讓便道上的第一輛車進場n);printf(該車次序號為:n);scanf(%d,&k);printf(請輸入該車進場時間:n);scanf(%d,&cark.car_arr);menu();D為預設停車場單位小時費用,用宏定義,便于以后修改。#define D 1.2/*預設車輛停車費為1.2元每小時*/3.數(shù)據(jù)庫設計及說明 eq oac(,1)停車車道:用宏

10、定義管理數(shù)據(jù)。N和M分別是停車場和便道的車位預設值原因以及說明:用戶可根據(jù)實際情況改變。 eq oac(,2)預設車輛次序號:用宏定義。原因及說明不管車輛到達時停在場內(nèi)或便道,均依次設置一個次序號,由0開始*/給予車輛次序號之后,用循環(huán)判斷停車場是否停滿,再分別給予選擇: eq oac(,3)停車費用:用宏定義。原因及說明:以后便于修改。 eq oac(,4)車輛號碼:用數(shù)組。原因及說明:車輛數(shù)目較大,用數(shù)組更加有條理。 eq oac(,5)車道號碼:用數(shù)組。原因及說明:車輛數(shù)目較大,用數(shù)組更加有條理。4.界面說明 eq oac(,1)主菜單函數(shù) eq oac(,2)初始化操作 eq oac(

11、,3)有車進入以上分別舉例0,1,2三個車的進場情況 eq oac(,4)有車離開 eq oac(,5)若便道上沒車,則退回到主菜單 eq oac(,6)若便道上有車開始顯示一系列選項功能輸入n,判斷n是不是1-4? 根據(jù)n的值調(diào)用各功能模塊函數(shù)結束YN5.主要算法說明 eq oac(,1.)主菜單 eq oac(,2)車道是否停滿。場內(nèi)是否已滿已滿,將車停在便道未滿,指定停車場位置 eq oac(,3)便道上是否有車輛。有車離開記錄該車離開時間得到停車時間和費用便道上還有車嗎?返回主菜單令其進場輸入次序號和進場時間6.代碼清單及注釋#include#include#include#defin

12、e N 100/*預設停車場有100個車位*/#define M 100/*預設便道有100個出位*/#define D 1.2/*預設車輛停車費為1.2元每小時*/#define CIXUHAO 1000/*預設車輛次序號。不管車輛到達時停在場內(nèi)或便道,均依次設置一個次序號,由0開始*/void menu();void chushi();void jinru();void likai();struct car/*車輛信息*/int car_num;/*車輛次序號*/int car_arr;/*車輛到達時間*/int car_lef;/*車輛離開時間*/int car_stay;/*車輛停放位

13、置*/carCIXUHAO;struct changnei/*場內(nèi)車道信息*/int neikong;chnN-1;struct changwai/*場外車道信息*/int waikong;chwM-1;void main()/*主函數(shù)*/menu();/*菜單函數(shù)*/void menu()int n,w;doputs(tt*MENU*nn);puts(ttt 1.初始化);puts(ttt 2.有車進入);puts(ttt 3.有車離開);puts(ttt 4.退出);puts(nntt*n);printf(Please choice your number(1-4): bb);scanf(

14、%d,&n);if(n4)/*對選擇的數(shù)字作判斷*/w=1;getchar();else w=0;while(w=1);switch(n)case 1:chushi();break;/*初始化函數(shù)*/case 2:jinru();break;/*車輛進入函數(shù)*/case 3:likai();break;/*車輛離開函數(shù)*/case 4:exit(0);/*退出*/void chushi()/*初始化函數(shù)*/int i,j;for(i=0;i=N-1;i+)chni.neikong=0;/*將場內(nèi)車道設置為空*/for(j=0;j=M-1;j+)chwi.waikong=0;/*將便道車道設置為

15、空*/printf(nntt已初始化nn);menu();void jinru()/*車輛進入函數(shù)*/int i,a;int h=0;printf(nn請輸入該車次序號(從0號開始):);scanf(%d,&a);for(i=0;iN;i+)if(chni.neikong=0);/*無車標記0*/if(chni.neikong=1)/*有車標記1*/h=h+1;if(h=N)printf(停車場內(nèi)已停滿,請停在便道上n);else cara.car_stay=h;chnh.neikong=1;printf(該車應該停在停車場內(nèi)第道%d(從0道開始記)n,h);printf(請輸入該車進停車場時

16、刻(24小時整點計時):n);scanf(%d,&cara.car_arr);menu();void likai()/*車輛離開函數(shù)*/int i,k,choi,time;double fee;printf(請輸入離開車輛次序號 ,并將此車之后的車先全部退出停車場!);scanf(%d,&i);printf(n請輸入離開車輛的離開時刻(24小時整點計時):n);scanf(%d,&cari.car_lef);fee=D*(cari.car_lef-cari.car_arr);time=cari.car_lef-cari.car_arr;printf(次序號為%d的車停車時間%d小時,應收費%f

17、元n,i,time,fee);printf(nnn請讓場內(nèi)退出的車再依次進場!nnn);printf(便道上現(xiàn)在有車嗎?(請選擇1或2)n1.有n2.沒有n);/*因便道上可能沒有車,因此要做選擇*/scanf(%d,&choi);if(choi=2)menu();if(choi=1)printf(請讓便道上的第一輛車進場n);printf(該車次序號為:n);scanf(%d,&k);printf(請輸入該車進場時間:n);scanf(%d,&cark.car_arr);menu();7.設計測試說明8.設計體會c 語言程序設計是一門重要的專業(yè)基礎課,通過這次課程設計使我了解了,c語言程序設

18、計的思想,并且掌握了程序設計的基本方法,為后續(xù)課程打下了堅實的基礎。同時這次課程設計又是一次實踐性較強的知識應用,在對我進行程序設計基礎理論與技術技巧能力訓練的同時,更加培養(yǎng)了我解決實際問題的編程能力。 在設計過程中,首先要解決的是與同學的合作,接下來分工與協(xié)商,共同探討,大家取長補短,認清自己的不足之處和薄弱環(huán)節(jié),加以彌補和加強,要做出 一個好的程序就要有不懈追求的精神和對理想崇高的追求,有一種不完成不罷休的精神。c語言作為一種高級編程語言具有方便靈活的特點,適合各種類型的軟件開發(fā),為我們以后學習單片機非常有用。 在設計初期,根據(jù)題目的要求和所學的知識,車庫中的車輛是先進后出是棧結構,便道上的車輛是先進先出的,是一個隊列,結構很明顯,但是現(xiàn)階段我所學的基礎知識不夠,掌握的不多,對應用棧和隊列來解決這個問題有

溫馨提示

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

評論

0/150

提交評論