




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)號武武漢漢華華夏夏理理工工學(xué)學(xué)院院課課程程設(shè)設(shè)計計報報告告書書課程名稱:課程名稱: 數(shù)據(jù)結(jié)構(gòu) 題題 目目:用用 C 語言實現(xiàn)停車場管理程序的設(shè)計語言實現(xiàn)停車場管理程序的設(shè)計 系系 名:名: 信息工程學(xué)院 專業(yè)班級:專業(yè)班級: 姓姓 名:名: 指導(dǎo)教師指導(dǎo)教師: 20162016 年 6 6月 2727日1課程設(shè)計任務(wù)書設(shè)計題目 用 C 語言實現(xiàn)停車場管理程序的設(shè)計設(shè)計目的1.鞏固和加深課堂所學(xué)知識、學(xué)會分析研究數(shù)據(jù)對象的特性及數(shù)據(jù)的組織方法;2.選擇合適的數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)以及相應(yīng)操作,實現(xiàn)停車場的計時收費處理;3.提高程序設(shè)計能力、加強查閱、運用資料的能力、算法分析與程序設(shè)計素質(zhì)培養(yǎng)
2、 ;設(shè)計任務(wù) (在規(guī)定的時間內(nèi)完成下列任務(wù))問題描述設(shè)有一個停放 n 輛車的狹長停車場,它只有一個大門供車輛出入。車輛按到達(dá)停車場時間的早晚依次從停車場最里面向大門處停放。若已放滿 n 輛車,則后來的車只能停在外面等待,當(dāng)有車開走后方依次進(jìn)入,停在場內(nèi)的車按時計費 。編制一個程序模擬該停車場管理。實現(xiàn)要求要求程序輸出每輛車到達(dá)后的停車位置,以及離開停車場時應(yīng)繳納的費用及停留時間。實現(xiàn)提示汽車的模擬輸入信息格式可設(shè)為:汽車牌照號碼,到達(dá)/離去時刻如(a ,1,5)為 1 號車在 5 時刻到達(dá), (b ,5,20)為 5 號車在 20 這個時刻離去。 具體要完成的任務(wù)是:A. 編制完成上述問題的
3、C 語言程序、進(jìn)行程序調(diào)試并能得出正確的運行結(jié)果。B. 寫出規(guī)范的課程設(shè)計報告書;時間安排:6 月 27 日-7 月 1 日第一天布置題目,確定任務(wù)、查找相關(guān)資料第二天第四天功能分析,編寫程序,調(diào)試程序、運行系統(tǒng);第五天程序驗收、答辯;撰寫設(shè)計報告。具體要求1. 課程設(shè)計報告按統(tǒng)一通用格式書寫,具體內(nèi)容如下: 設(shè)計任務(wù)與要求 總體方案與說明 軟件主要模塊的流程圖 源程序清單與注釋 問題分析與解決方案(包括調(diào)式報告:即在調(diào)式過程中遇到的問題、解決方法及改進(jìn)設(shè)想) ; 小結(jié)與體會附錄: 源程序(必須有簡單注釋) 使用說明 參考資料2每位學(xué)生應(yīng)獨立完成各自的任務(wù)且每天至少在設(shè)計室工作半天;指 導(dǎo) 教
4、 師 簽 名: 2016 年 6 月 25 日 教研室主任(或責(zé)任教師)簽名:邱珊 2016 年 6 月 25 日2目錄目錄目錄一、課程設(shè)計目的與任務(wù) .3二、問題描述 .3三、需求分析 .3四、詳細(xì)設(shè)計 .41數(shù)據(jù)結(jié)構(gòu)說明.42.算法說明.53.功能模塊說明.5五、測試結(jié)果 .6六、參考文獻(xiàn) .9七、源代碼 .9八、設(shè)計總結(jié) .123一、課程設(shè)計目的與任務(wù)一、課程設(shè)計目的與任務(wù)一、課程設(shè)計目的與任務(wù)目的:學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程,旨在使學(xué)生學(xué)會分析研究數(shù)據(jù)對象的特性,學(xué)會數(shù)據(jù)的組織方法,以便選擇合適的數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)以及相應(yīng)操作,把現(xiàn)實世界中的問題轉(zhuǎn)換為計算機(jī)內(nèi)部的表示和處理,這就是一個良好
5、的程序設(shè)計技能訓(xùn)練的過程。所以提高程序設(shè)計能力、掌握基本知識、基本技能,提高算法設(shè)計質(zhì)量與程序設(shè)計素質(zhì)的培養(yǎng)就是數(shù)據(jù)結(jié)構(gòu)課程的課程設(shè)計的目的。任務(wù):數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實際就是利用 c 語言編制一個中、小型軟件的過程,也是使學(xué)生了解軟件開發(fā)的基本方法的過程。將在指導(dǎo)老師的指導(dǎo)下,完成從需求分析,系統(tǒng)設(shè)計,編碼到測試的全過程。二、問題描述二、問題描述二、問題描述用 C 語言實現(xiàn)停車場管理程序的設(shè)計3問題描述設(shè)有一個停放 n 輛車的狹長停車場,它只有一個大門供車輛出入。車輛按到達(dá)停車場時間的早晚依次從停車場最里面向大門處停放。若已放滿 n 輛車,則后來的車只能停在外面等待,當(dāng)有車開走后方依次進(jìn)入,停在
6、場內(nèi)的車按時計費(等候進(jìn)入的車不計時) 。編制一個程序模擬該停車場管理。實現(xiàn)要求要求程序輸出每輛車到達(dá)后的停車位置,以及某輛車離開停車場時應(yīng)繳納的費用及停留時間。實現(xiàn)提示汽車的模擬輸入信息格式可設(shè)為:(到達(dá)/離去,汽車牌照號碼,到達(dá)/離去時刻) 如(a ,1,5)為 1 號車在 5 時刻到達(dá), (b ,5,20)為 5 號車在 20 這個時刻離去。 注意:本題可用棧或隊列來實現(xiàn)。三、需求分析三、需求分析三、需求分析這個程序的關(guān)鍵是車輛的進(jìn)站和出站操作,以及車輛的通道之間的相互關(guān)系。由于停車場是一個很窄的、一邊開口的車道,先進(jìn)后出,類似數(shù)據(jù)結(jié)構(gòu)中的棧結(jié)構(gòu),故車場用順序棧這種數(shù)據(jù)結(jié)構(gòu)來描述。外面的
7、狹長的通道,先進(jìn)后出,通道的車輛可以隨時退出,故可用鏈?zhǔn)疥犃薪Y(jié)構(gòu)來描述。考慮到車場和通道在整個程序中都要用到,故把這兩個變量定義為全局變量。在通道上的車由于沒有入場,故不用收取費用。4四、詳細(xì)設(shè)計四、詳細(xì)設(shè)計四、詳細(xì)設(shè)計1 1 1數(shù)據(jù)結(jié)構(gòu)說明數(shù)據(jù)結(jié)構(gòu)說明數(shù)據(jù)結(jié)構(gòu)說明void main()/*主函數(shù)*/menu();/*菜單函數(shù)*/菜單函數(shù)void menu()int n,w;doputs(*MENU*n);puts(*1 初始化*n);puts(*2.有車進(jìn)入*n);puts(* 3.有車離開*n);puts(* 4.退出*n);printf(請選擇你需要的服務(wù)(1-4):);scanf(%d
8、,&n);if(n4)w=1;getchar();elsew=0;while(w=1);5switch(n)case 1:chushi();break;/*停車函數(shù)*/case 2:jinru();break;/*開車函數(shù)*/case 3:likai();break;/*退出*/case 4:exit(0);break;/*初始化*/2.2.2.算法說明算法說明算法說明終端汽車讀入數(shù)據(jù)包含三項:a.是“到達(dá)”還是“離開” ; b. “到達(dá)”或“離開”的時刻。3.功能模塊說明總體設(shè)計:停車場系統(tǒng)有車進(jìn)入初始化有車離開6有車到達(dá)模塊:到達(dá)時有兩種情況,即車場是否滿,未滿則直接進(jìn)入停車場;滿
9、時,到便道等待。五、測試結(jié)果五、測試結(jié)果五、測試結(jié)果運行后顯示為:YN停車場是否滿車輛到達(dá)進(jìn)入停車場進(jìn)入便道結(jié)束7輸入 1顯示 輸入 2 0 1顯示8輸入 3 0 2顯示9輸入 2顯示輸入 4顯示10六、六、參考文獻(xiàn)六、參考文獻(xiàn)六、參考文獻(xiàn)1鄧又明數(shù)據(jù)結(jié)構(gòu)(第一版)北京地質(zhì)出版社2007 年 8 月2劉天印C 語言程序設(shè)計(第一版)北京科學(xué)出版社2 007 年 3 月3嚴(yán)蔚敏吳偉民編著數(shù)據(jù)結(jié)構(gòu)(C 語言版)北京清華大學(xué)出版社20054嚴(yán)蔚敏陳文博編著數(shù)據(jù)結(jié)構(gòu)及應(yīng)用算法教程北京清華大學(xué)出版社20065譚浩強編著C 語言程序設(shè)計(第二版)北京清華大學(xué)出版社2003七、源代碼七、源代碼七、源代碼#i
10、nclude #include #include#define N 100/*預(yù)設(shè)停車場有 100 個車位*/ #define M 100/*預(yù)設(shè)便道有 100 各出位*/ #define D 1.2/*預(yù)設(shè)車輛停車費為 1.2 元每小時*/ #define NUMBER 100void menu();void chushi(); void jinru();void likai();struct car int carnum;int cararr; int carlef;int carstay;carNUMBER;struct park int neikong;chnN-1; struct c
11、hangwai int waikong;chwM-1;void main()menu();void menu() 11 int n,w; doputs(*MENU*n);puts(*1.初始化*n); puts(*2.有車進(jìn)入*n);puts(*3.有車離開*n);printf(請選擇你需要的服務(wù)(1-4):); scanf(%d,&n);if(n4) w=1; getchar(); else w=0; while(w=1);switch(n) case 1:chushi();break;/*停車函數(shù)*/ case 2:jinru();break;/*開車函數(shù)*/ case 3:lik
12、ai();break;/*退出*/ case 4:exit(0);break;/*初始化*/ void chushi()/*初始化*/ int i,j; for(i=0;iN;i+) chni.neikong=0;/*停車場設(shè)置為空*/ for(j=0;jM;j+) chwi.waikong=0; printf(已初始化n); menu();void jinru()/*車輛進(jìn)入函數(shù)*/ int i,a; int h=0; printf(請輸入該車系序號(從 0 開始):);scanf(%d,&a);for(i=0;iN;i+) 12if(chni.neikong=0)/*無車標(biāo)記*/
13、if(chni.neikong=1)/*有車標(biāo)記*/ h=h+1; if(h=N) printf(停車場內(nèi)已滿!); else cara.carstay=h; chnh.neikong=1; printf(該車應(yīng)該停在停車場內(nèi)); printf(請輸入該車進(jìn)停車場時間:); scanf(d%,&cara.cararr); menu(); void likai()/*車輛離開函數(shù)*/ int i,k,choi,time;double fee; printf(請輸入要離開車輛次序號:); scanf(%d,&i); printf(請輸入離開時間:); scanf(%d,&c
14、ari.carlef); fee=D*(cari.carlef-cari.cararr); time=cari.carlef-cari.cararr; printf(次序號為%d 的車停時間%d 小時,應(yīng)收費%f 元n,i,time,fee);printf(便道上現(xiàn)在有車么?(請選擇 1 或 2)1.有。2.沒有n);scanf(%d,&choi);if(choi=2) menu(); if(choi=1) printf(請讓便道上的第一輛車進(jìn)場n); printf(該車次序號為:); scanf(%d,&cark.cararr); menu(); 八、設(shè)計總結(jié)八、設(shè)計總結(jié)八、設(shè)計總結(jié)13這次的課程設(shè)計使我們真正的能運用我們所學(xué)知識來做實際的事情,雖然此次的停車場運用程序不是特別能運用到實際中,因為它的一些要求難以實現(xiàn),但是,鍛煉了我們自己。對于我們來說是一個挑戰(zhàn)。我們對數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)在程序的設(shè)計中也有所體現(xiàn)。通過對程序的編制,調(diào)試和運行,使我們更好的掌握了棧和隊列基本性質(zhì)和有關(guān)它們之間關(guān)系使用問題的解決方法,熟悉了各種調(diào)用的數(shù)據(jù)類型,在調(diào)試和運行過程中使我更加
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西農(nóng)業(yè)大學(xué)《員工招聘與素質(zhì)測評》2023-2024學(xué)年第二學(xué)期期末試卷
- 建陽市2025年三下數(shù)學(xué)期末監(jiān)測模擬試題含解析
- 云南省楚雄州雙柏縣一中2025屆高三第十五次考試生物試題含解析
- 遼寧廣告職業(yè)學(xué)院《生物化學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中北大學(xué)《燃料及燃燒學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津農(nóng)學(xué)院《自然地理學(xué)二》2023-2024學(xué)年第二學(xué)期期末試卷
- 圖木舒克職業(yè)技術(shù)學(xué)院《廣告提案》2023-2024學(xué)年第二學(xué)期期末試卷
- 陽江職業(yè)技術(shù)學(xué)院《工程數(shù)學(xué)1》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省樂山市2025年5月初三月考物理試題含解析
- 云南省昭通市永善一中2025年高三假期自主綜合能力測試(一)生物試題含解析
- 糖尿病飲食與護(hù)理
- 2025年天津市河?xùn)|區(qū)中考一模歷史試題(原卷版+解析版)
- 河南省南陽市新未來聯(lián)考2024-2025學(xué)年高一下學(xué)期4月期中物理試題(含解析)
- 《基于STM32的智能水質(zhì)檢測系統(tǒng)的設(shè)計》9400字(論文)
- 2025年醫(yī)保政策考試:醫(yī)保患者權(quán)益保障知識競賽試題庫
- 中國普通食物營養(yǎng)成分表(修正版)
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- SartoriusPB10pH計校正方法
- 本科畢業(yè)論文氯化聚氯乙烯樹脂的工藝研究及其供需現(xiàn)狀
- 在產(chǎn)業(yè)鏈建設(shè)調(diào)度推進(jìn)會議上的講話稿
- 醫(yī)院感染管理科十四五發(fā)展規(guī)劃
評論
0/150
提交評論