課程設計—停車場模擬管理程序的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  停車場模擬管理程序的設計與實現(xiàn)</p><p><b>  一、簡介</b></p><p><b>  1.設計目的:</b></p><p>  理解線性表的邏輯結構和存儲結構,進一步提高使用理論知識指導解決實際問題的能力。</p><p><b>  2.問題的

2、描述:</b></p><p>  設停車場只有一個可停放幾輛汽車的狹長通道,只有一個大門可供汽車進出。汽車在停車場內按車輛到達的先后順序依次排列,若車場內已停滿幾輛汽車,則后來的汽車只能在門外的便道上等候,一旦停車場內有車輛開走,則排在便道上的第一輛汽車即可進入;當停車場內某輛汽車要開走時,由于停車場是狹長的通道,在它之后開入的車輛必須先推出車場為他讓路,待車輛開出大門,為他讓路的車輛再按原次序進入

3、車場。試設計這樣一個停車場模擬管理程序。</p><p>  二、數據結構的設計:</p><p>  對車的信息的定義,只有一個車牌號</p><p>  定義棧,用于表示車位</p><p>  定義一個隊列,并定義頭尾指針</p><p>  棧s1,s2分別用于表示車位和輔助站,隊列p用于表示便道</p&

4、gt;<p><b>  創(chuàng)建隊列,并初始化</b></p><p>  隊列中元素的輸入與刪除,表示了有車進入便道和離開便道 </p><p>  有車進入停車場:如果有空車位,進入車位;否則,進入便道等候</p><p>  有車離開車位:1進行查找,從棧的最后一位開始找起,不符合的輔助棧;2查找成功,將其出棧,輔助棧汽車重新

5、回到車位中;并使便道上的車進入車位,將車位補滿;3查找失敗,進行下方else,將進入輔助站的車重新返回車位上,并顯示沒有此車</p><p>  顯示停車位信息:1如果車位為空,顯示沒有車2車位上有車,顯示第幾號車位及停放車輛的車牌號</p><p>  數據出棧,表示有車離開車位,top和z相應減一,并返回棧內數據的數量</p><p>  創(chuàng)建棧,數據進棧,并有

6、判滿和數據計數器相應加一</p><p>  用的是一個switch語句實現(xiàn)輸入不同操作選項,調用不同的函數,進入不同的操作板塊</p><p>  三、功能(函數)設計:</p><p>  1車輛進入停車場模塊:</p><p>  ·Arrive函數:有車進入停車廠;</p><p>  ·s

7、->top==maxsize-1:對棧進行判滿,f=0,棧滿,調用Enlinkqueue函數;f=1,棧不滿,調用Push函數;</p><p>  ·Push函數:使車進入車位;</p><p>  ·Enlinkqueue函數:車位已滿,使車停入便道,等候進入車位;</p><p>  2車輛離開停車場模塊:</p>&l

8、t;p>  ·Leave函數:有車要離開車位;</p><p>  ·y.num!=x.num:查找車位上是否存在要離開的車,是f=0,不是,f=1;</p><p>  ·n=push(s2,y);y=pop(s1):f=1,不是要離開的車輛,進行此重復循環(huán),從棧頂依次查找要離開的車輛;</p><p>  ·y=po

9、p(s1);y=pop(s2);f=push(s1,y):f=0,找到了要離開的車輛,出棧,并將進入到輔助棧的車返回車位; </p><p>  ·q->front==q->rear:有空車位,將便道上的車開進車位,n!=0,便道上有車;n=0,便道上沒有車了,用返回值0表示;</p><p>  ·y.num=n;f=push(s1,y):將便道上的車開進

10、車位;</p><p>  3停車場信息顯示模塊:</p><p><b>  四、界面設計:</b></p><p>  用的是一個switch語句實現(xiàn)輸入不同操作選項,調用不同的函數,進入不同的操作板塊。</p><p><b>  五、程序設計:</b></p><p>

11、;<b>  主要函數:</b></p><p>  ·Arrive函數:有車輛進入停車場的實現(xiàn);</p><p>  ·Leave函數:對有車輛要離開停車場的實現(xiàn);</p><p>  ·Pp函數:顯示停車場車位信息;</p><p>  ·Push函數:對元素進棧的操作,即有車

12、輛進入車位的實現(xiàn);</p><p>  ·Pop函數:對元素出棧的操作,即有車輛從車位里出來的實現(xiàn);</p><p>  ·Enlinkqeueu函數:對數據進入隊列的操作,即有車輛進入便道的實現(xiàn);</p><p>  ·Delinkqeueu函數:對數據出隊列的操作,即有車輛離開便道的實現(xiàn);</p><p> 

13、 編寫代碼期間遇到的問題:</p><p>  1在定義函數時,定義了多個不同形式的指針,但在使用時發(fā)生那個了錯誤,出現(xiàn)了指針所指信息錯誤;</p><p>  2在車輛進出停車場的實現(xiàn)中,要不斷調用查找,出棧出棧,隊列上元素的出棧函數;表示車位的棧和輔助棧之間的數據轉存,隊列中的元素進入便道等操作比較麻煩,需要設置不同標志量和判斷函數進行出棧進棧函數的不斷調用,常會出現(xiàn)錯誤。</p

14、><p><b>  解決辦法:</b></p><p>  查找資料對指針的使用以及各種操作的實現(xiàn)進行了深入了解,先把各部分的函數保證準確;在函數調用過程中,畫出大致流程圖,對照路程圖進行判斷條件的編寫和函數的調用。</p><p><b>  六、運行與測試:</b></p><p>  1、測試的

15、數據及其結果:</p><p>  (1)點擊A進行輸入,分別輸入車牌號1,2,3,4,5;</p><p>  (2)輸入車牌號6,7,8,車位已滿,多余的車進入便道等待進入車位;</p><p> ?。?)顯示此時停車場的信息;</p><p> ?。?)將車位上的車牌號為2和4的車就開除車位;</p><p> 

16、 2、運行與測試期間遇到的問題及其解決辦法。</p><p> ?。?)、問題1:在進行進場出場信息的輸入時,只能進行一次;</p><p>  解決辦法:設置一個標志量flag和swith循環(huán),在每一次操作后返回到操作步驟;</p><p> ?。?)、問題2:在進行了車輛開出停車場操作后,不能正確顯示變化后的車位信息;</p><p> 

17、 解決方法:求助同學,添加變量n等,重新調整顯示信息模塊的函數;</p><p><b>  七、結論:</b></p><p>  此停車場管理系統(tǒng),可以進行車輛進入停車場和退出停車場以及停車廠內部車位停車信息的顯示三個步驟的操作。在車輛進入停車場進入模塊中,如果進入停車場的車輛大于5,即車位里停放的車輛已滿,后面的車自動進入便道等候;在車輛離開停車場模塊中,在查找

18、車輛過程中如果沒有對應車輛能夠顯示出“沒有此車”,并有輔助棧保證從車位上出來的車不會改變順序;車位出現(xiàn)空位時,便道上的車能自動進入車位,同時,便道上的車也可以直接離開停車場;停車場信息顯示模塊,能夠顯示停車場車位的信息。并有錯誤操作的信息提示。</p><p>  同樣此程序存在很多,界面不直觀,不能很直觀,清楚地了解停車場管理系統(tǒng);在顯示模塊,沒有顯示出開出停車場車輛的信息,以及便道上的信息。在進一步的開展工作

19、方面,可以添加車輛開出停車場的顯示模塊和便道上車輛信息的顯示,車輛的信息過于簡單,只有一個車牌,可以添加更加詳細的車輛信息以及添加收費操作等功能。</p><p><b>  八、設計后的思考:</b></p><p>  不管簡單還是復雜的程序設計,都要求扎實的基礎知識,因為各種程序都是由簡單的一塊塊的函數結構組成的,并加強實踐,從程序的編寫中進一步加強對書本知識的

20、掌握。而且,需要耐心,做程序的編寫時比較枯燥的,會出現(xiàn)許多錯誤,需要我們細心并耐心的進行修改。</p><p>  課程設計雖然是個人作業(yè),但也需要同學之間相互幫助,共同學習,并不斷探索更合理,更簡潔的途徑來實現(xiàn)程序。</p><p><b>  參考文獻:</b></p><p>  [1]譚浩強,C語言設計(第三版). 北京: 清華大學出版

溫馨提示

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

評論

0/150

提交評論