停車(chē)場(chǎng)管理系統(tǒng)課程設(shè)計(jì)報(bào)告2匯總_第1頁(yè)
停車(chē)場(chǎng)管理系統(tǒng)課程設(shè)計(jì)報(bào)告2匯總_第2頁(yè)
停車(chē)場(chǎng)管理系統(tǒng)課程設(shè)計(jì)報(bào)告2匯總_第3頁(yè)
停車(chē)場(chǎng)管理系統(tǒng)課程設(shè)計(jì)報(bào)告2匯總_第4頁(yè)
停車(chē)場(chǎng)管理系統(tǒng)課程設(shè)計(jì)報(bào)告2匯總_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、泊車(chē)場(chǎng)管理系統(tǒng)課程設(shè)計(jì)報(bào)告2匯總泊車(chē)場(chǎng)管理系統(tǒng)課程設(shè)計(jì)報(bào)告2匯總22/22泊車(chē)場(chǎng)管理系統(tǒng)課程設(shè)計(jì)報(bào)告2匯總德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)泊車(chē)場(chǎng)管理系統(tǒng)實(shí)習(xí)目的經(jīng)過(guò)本次課程設(shè)計(jì),認(rèn)識(shí)并初步掌握設(shè)計(jì)、實(shí)現(xiàn)系統(tǒng)的圓滿過(guò)程,包含系統(tǒng)分析、編碼設(shè)計(jì)、以及調(diào)試分析,嫻熟掌握數(shù)據(jù)構(gòu)造的選擇、設(shè)計(jì)、實(shí)現(xiàn)以及操作方法,為進(jìn)一步的應(yīng)用開(kāi)發(fā)打好基礎(chǔ)。問(wèn)題描繪泊車(chē)場(chǎng)是一條可以停放n輛車(chē)的狹小通道,且只有一個(gè)大門(mén)汽車(chē)停放安抵達(dá)時(shí)間的先后挨次由北向南擺列(大門(mén)在最南端,最初抵達(dá)的第一輛車(chē)停在最北端)若泊車(chē)場(chǎng)已經(jīng)停滿n輛車(chē),此后的汽車(chē)在便道上等候,一旦有車(chē)開(kāi)走,排在便道上的第一輛車(chē)可以開(kāi)入;

2、當(dāng)泊車(chē)場(chǎng)的某輛車(chē)要走開(kāi)時(shí),停在他后邊的車(chē)要先退后為他讓路,等它開(kāi)出后其余車(chē)在依據(jù)原序次開(kāi)入車(chē)場(chǎng),每?jī)赏T谲?chē)場(chǎng)的車(chē)要安時(shí)間長(zhǎng)短繳費(fèi)?;疽螅?)以棧模擬泊車(chē)場(chǎng),以行列車(chē)場(chǎng)外的便道,依據(jù)從終端輸入的數(shù)據(jù)序列進(jìn)行模擬管理。每一組數(shù)據(jù)包含三個(gè)數(shù)據(jù)項(xiàng):汽車(chē)“抵達(dá)”或“走開(kāi)”信息、汽車(chē)牌照號(hào)碼、以及抵達(dá)或走開(kāi)的時(shí)辰。對(duì)每一組數(shù)據(jù)進(jìn)行操作后的信息為:假如車(chē)輛抵達(dá),則輸出汽車(chē)在泊車(chē)場(chǎng)的內(nèi)或便道上的地點(diǎn):假如車(chē)輛走開(kāi)則輸出汽車(chē)在泊車(chē)場(chǎng)內(nèi)的逗留時(shí)間和應(yīng)繳納的開(kāi)銷(xiāo)(在便道上的逗留時(shí)間不收費(fèi))。棧以序次構(gòu)造實(shí)現(xiàn),行列以鏈表構(gòu)造實(shí)現(xiàn)。2)友善性:界面要友善,輸入有提示,盡量展現(xiàn)人性化。3)可讀性:源程序代碼清楚、有層

3、次,必需時(shí)給出說(shuō)明。4)強(qiáng)健性:用戶輸入非法數(shù)據(jù)時(shí),系統(tǒng)要實(shí)時(shí)給出警示信息。5)測(cè)試數(shù)據(jù):要求使用1、所有合法數(shù)據(jù);2、整體非法數(shù)據(jù);3、局部非法數(shù)據(jù)。進(jìn)行程序測(cè)試,以保證程序的堅(jiān)固。測(cè)試數(shù)據(jù)及測(cè)試結(jié)果請(qǐng)?jiān)谏辖坏馁Y猜中寫(xiě)明。需求分析泊車(chē)場(chǎng)是一條可以停放n輛車(chē)的狹小通道,且只有一個(gè)大門(mén)。汽車(chē)停放按抵達(dá)時(shí)間的先后擺列。若泊車(chē)場(chǎng)已經(jīng)停滿n輛車(chē),此后的汽車(chē)在便道上等候。一旦有車(chē)開(kāi)走,排在便道上的第一輛車(chē)可以開(kāi)入;當(dāng)泊車(chē)場(chǎng)的某輛車(chē)要走開(kāi)時(shí),停在他后邊的車(chē)要先退后為他讓路。等它開(kāi)出后,其余車(chē)再依據(jù)原序次開(kāi)入車(chē)場(chǎng),每輛停在車(chē)場(chǎng)的車(chē)要準(zhǔn)時(shí)間長(zhǎng)短繳費(fèi)。3.1設(shè)計(jì)基本要求以棧模擬泊車(chē)場(chǎng),以行列模擬車(chē)場(chǎng)外的便道,依

4、據(jù)從終端輸入的數(shù)據(jù)序列進(jìn)行1德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)模擬管理。每一組數(shù)據(jù)包含三個(gè)數(shù)據(jù)項(xiàng):汽車(chē)“抵達(dá)”或“走開(kāi)”信息、汽車(chē)牌照號(hào)碼、以及抵達(dá)或走開(kāi)的時(shí)辰。對(duì)每一組數(shù)據(jù)進(jìn)行操作后的信息為:假如車(chē)輛抵達(dá),則輸出汽車(chē)在泊車(chē)場(chǎng)的內(nèi)或便道上的地點(diǎn):假如車(chē)輛走開(kāi)則輸出汽車(chē)在泊車(chē)場(chǎng)內(nèi)的逗留時(shí)間和應(yīng)繳納的開(kāi)銷(xiāo)(在便道上的逗留時(shí)間不收費(fèi))。棧以序次構(gòu)造實(shí)現(xiàn),行列以鏈表構(gòu)造實(shí)現(xiàn)。友善性:界面要友善,輸入有提示,盡量展現(xiàn)人性化??勺x性:源程序代碼清楚、有層次,必需時(shí)給出說(shuō)明。強(qiáng)健性:用戶輸入非法數(shù)據(jù)時(shí),系統(tǒng)要實(shí)時(shí)給出警示信息。測(cè)試數(shù)據(jù):要求使用所有合法數(shù)據(jù)、整體非法數(shù)據(jù)、局部非法

5、數(shù)據(jù)進(jìn)行程序測(cè)試,以保證程序的堅(jiān)固。測(cè)試數(shù)據(jù)及測(cè)試結(jié)果請(qǐng)?jiān)谏辖坏馁Y猜中寫(xiě)明。3.2泊車(chē)場(chǎng)管理系統(tǒng)的主要功能依據(jù)車(chē)輛抵達(dá)泊車(chē)場(chǎng)到車(chē)輛走開(kāi)泊車(chē)場(chǎng)時(shí)所逗留的時(shí)間進(jìn)行計(jì)時(shí)收費(fèi)。該程序設(shè)計(jì)可以經(jīng)過(guò)車(chē)牌號(hào)查到該車(chē)輛在泊車(chē)場(chǎng)或便道中的地點(diǎn)。當(dāng)有車(chē)輛從泊車(chē)場(chǎng)走開(kāi)時(shí),等候的車(chē)輛挨序次進(jìn)入泊車(chē)場(chǎng)停放。實(shí)現(xiàn)泊車(chē)場(chǎng)的調(diào)動(dòng)功能。該程序設(shè)計(jì)可以圓滿的模擬泊車(chē)場(chǎng)的管理過(guò)程。詳盡設(shè)計(jì)4.1數(shù)據(jù)構(gòu)造的設(shè)計(jì)程序中使用了一個(gè)類(lèi),五個(gè)構(gòu)造體,兩個(gè)棧(模擬泊車(chē)場(chǎng),此中一個(gè)為暫時(shí)棧),一個(gè)行列(模擬便道)。(1)車(chē)輛信息的表示車(chē)輛可看作是一個(gè)節(jié)點(diǎn),設(shè)計(jì)成一個(gè)構(gòu)造體,車(chē)輛信息包含:車(chē)牌號(hào)碼,車(chē)輛的進(jìn)站時(shí)間和走開(kāi)泊車(chē)場(chǎng)的時(shí)間,定義以下:ty

6、pedefstructnodecharnum10;/車(chē)牌號(hào)碼Timereach;/到站時(shí)間Timeleave;/走開(kāi)時(shí)間CarNode;(2)時(shí)間、棧和行列的定義時(shí)間是由小時(shí)和分鐘表示的,有兩部分?jǐn)?shù)據(jù),設(shè)計(jì)兩個(gè)變量分別儲(chǔ)蓄小時(shí)和分鐘,定義以下:typedefstructtime2德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)inthour;intmin;Time;泊車(chē)場(chǎng)內(nèi)用棧表示:typedefstructNODECarNode*stackMAX+1;/棧用序次表示inttop;SeqStackCar;SeqStackCarEnter,Temp;InitStack(&Temp)

7、在車(chē)輛走開(kāi)時(shí),應(yīng)用temp暫時(shí)棧把將要走開(kāi)的車(chē)輛后續(xù)車(chē)輛壓入,等車(chē)輛走開(kāi)后壓回原棧stack。便道上的車(chē)輛表示:typedefstructcarCarNode*data;/便道上的車(chē)用鏈表表示structcar*next;QueueNode;typedefstructNodeQueueNode*head;/設(shè)置頭指針、尾指針QueueNode*rear;LinkQueueCar;4.2算法的設(shè)計(jì)思想及流程圖4.2.1主要函數(shù)的功能說(shuō)明(1)voidInitStack(SeqStackCar*);/車(chē)輛節(jié)點(diǎn)進(jìn)棧。即當(dāng)棧未滿時(shí),就把抵達(dá)的車(chē)輛進(jìn)棧。(2)intInitQueue(LinkQueue

8、Car*);/車(chē)輛節(jié)點(diǎn)進(jìn)行列。即當(dāng)棧已滿時(shí),車(chē)輛就進(jìn)入便道上的行列中(3)intArrival(SeqStackCar*,LinkQueueCar*);/車(chē)輛抵達(dá)登記。即車(chē)輛抵達(dá)時(shí),先登記車(chē)輛車(chē)牌號(hào)碼。此后再判斷泊車(chē)場(chǎng)有沒(méi)有停滿,沒(méi)停滿就進(jìn)棧,停滿了就停在便道上,即進(jìn)行列。(4)voidLeave(SeqStackCar*,SeqStackCar*,LinkQueueCar*);/車(chē)輛走開(kāi)處理。即經(jīng)過(guò)輸入走開(kāi)車(chē)輛的地點(diǎn)辦理,此后調(diào)用PRINT(CarNode*p,introom);函數(shù)進(jìn)行收費(fèi)。此后再判斷便道上有沒(méi)有車(chē),假如有,就把便道上的車(chē)進(jìn)泊車(chē)場(chǎng)內(nèi)。3德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科

9、學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)(5)voidList(SeqStackCar,LinkQueueCar);/顯示車(chē)場(chǎng)內(nèi)和便道上的車(chē)輛狀況。利用switch();函數(shù)選擇顯示車(chē)場(chǎng)內(nèi)或是便道上的車(chē)輛狀況,包含對(duì)下邊兩個(gè)子函數(shù)的調(diào)用:voidList1(SeqStackCar*S);voidList2(LinkQueueCar*W);/分別用來(lái)顯示車(chē)場(chǎng)和便道上的車(chē)輛狀況(6)voidPRINT(CarNode*p,introom);/車(chē)輛走開(kāi)時(shí)的收費(fèi)。即這個(gè)函數(shù)由車(chē)輛走開(kāi)的函數(shù)調(diào)用,以分鐘計(jì)時(shí)算費(fèi),但只好計(jì)算當(dāng)日以內(nèi)的開(kāi)銷(xiāo),假如次日的話會(huì)致使計(jì)費(fèi)為負(fù)或減少。即只好當(dāng)日停,當(dāng)日開(kāi)走。4.2.2泊車(chē)場(chǎng)管理系統(tǒng)

10、流程圖經(jīng)過(guò)對(duì)車(chē)輛的出入分析以及對(duì)該系統(tǒng)的詳盡設(shè)計(jì),繪制泊車(chē)場(chǎng)管理系統(tǒng)流程圖如圖1.4德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)圖1泊車(chē)場(chǎng)管理系統(tǒng)流程圖5德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)4.2.3主要模塊算法描繪本程序最主要的算法就是車(chē)輛抵達(dá)登記的和車(chē)輛走開(kāi)時(shí)的登記。(1)車(chē)輛抵達(dá):intArrival(SeqStackCar*Enter,LinkQueueCar*W)/第必然義一個(gè)棧和行列的構(gòu)造體指針為:*p,*t。此后申請(qǐng)一個(gè)車(chē)輛信息的內(nèi)存空間,并把它賦給棧指針。車(chē)輛抵達(dá)時(shí)就輸入車(chē)牌號(hào),并經(jīng)過(guò)if(Enter-toptop0)保證棧不空,此后

11、用個(gè)while(1)保證輸入的車(chē)輛走開(kāi)位置的合法性。假如不合法,顯示輸入有誤,要從頭輸入。經(jīng)過(guò)while(Enter-toproom)判斷走開(kāi)車(chē)輛的地點(diǎn),假如是中間地點(diǎn),就要再用一個(gè)暫時(shí)棧擱置前面對(duì)時(shí)開(kāi)出來(lái)的車(chē),等要開(kāi)出的車(chē)開(kāi)出后,再把暫時(shí)棧內(nèi)的車(chē)開(kāi)進(jìn)泊車(chē)場(chǎng)內(nèi),并調(diào)用PRINT(p,room);這個(gè)函數(shù)計(jì)算顯示開(kāi)銷(xiāo)。此后還要用if(W-head!=W-rear)&Enter-topMAX)語(yǔ)句判斷便道上有沒(méi)有車(chē),假如有車(chē)就要顯示進(jìn)泊車(chē)場(chǎng)的車(chē)的車(chē)牌號(hào),并登記進(jìn)入時(shí)間。并要進(jìn)行相應(yīng)的出行列和進(jìn)棧操作。測(cè)試分析5.1測(cè)試用例說(shuō)明:測(cè)試用例要合理而且足夠,既要有正確用例,也要有錯(cuò)誤用例,同時(shí)查驗(yàn)程序的

12、正確性和強(qiáng)健性。5.1.1第一組測(cè)試用例(1)測(cè)試輸入:泊車(chē)場(chǎng)的車(chē)輛走開(kāi),如表1所示:6德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)表1:車(chē)輛走開(kāi)測(cè)試服務(wù)選擇車(chē)牌號(hào)/車(chē)位抵達(dá)/走開(kāi)時(shí)間1京A121212:121津S121212:131魯D121212:142114:122125:65(錯(cuò)誤)測(cè)試目的:測(cè)試走開(kāi)方法時(shí)間格式控制以及開(kāi)銷(xiāo)計(jì)算能否正確。正確輸出:第一次走開(kāi)的是京A1212,應(yīng)交費(fèi)2.4元。第二次時(shí),當(dāng)在輸入65時(shí),應(yīng)當(dāng)提示輸入錯(cuò)誤,重輸。實(shí)質(zhì)輸出:圖2測(cè)試走開(kāi)方式時(shí)間格式及開(kāi)銷(xiāo)計(jì)算圖圖3測(cè)試車(chē)輛走開(kāi)錯(cuò)誤圖錯(cuò)誤原由:第一個(gè)正確,第二個(gè)錯(cuò)誤,原由是沒(méi)有對(duì)時(shí)間格式控制。目

13、前狀態(tài):已更正7德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)5.1.2第二組測(cè)試用例測(cè)試輸入:連續(xù)5輛車(chē)抵達(dá),如表2所示:表2:連續(xù)5輛車(chē)抵達(dá)測(cè)試服務(wù)選擇車(chē)牌號(hào)/車(chē)位抵達(dá)時(shí)間1京A121212:121津S121212:131魯D121212:141豫F121212:151滬G121212:162114:12測(cè)試目的:測(cè)試抵達(dá)方法與列表顯示方法能否正確達(dá)成。正確輸出:先抵達(dá)的三輛車(chē)先進(jìn)入泊車(chē)場(chǎng),最后抵達(dá)的兩輛在便道等候。實(shí)質(zhì)輸出:表4車(chē)輛抵達(dá)方式測(cè)試8德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)圖5車(chē)輛進(jìn)入提示圖錯(cuò)誤原由:沒(méi)有錯(cuò)誤。目前狀態(tài):經(jīng)過(guò)。5.1.3第

14、三組測(cè)試用例測(cè)試輸入:接上一步輸入走開(kāi)信息,如表3所示:表3:接上一步走開(kāi)信息測(cè)試服務(wù)選擇走開(kāi)車(chē)位走開(kāi)時(shí)間便道車(chē)進(jìn)入時(shí)間2114:1214:13測(cè)試目的:測(cè)試走開(kāi)方法功能能否成功以及便道進(jìn)入車(chē)場(chǎng)能否正確。正確輸出:輸出1號(hào)車(chē)位的車(chē)輛走開(kāi)信息清單,便道1號(hào)車(chē)進(jìn)入泊車(chē)場(chǎng)。實(shí)質(zhì)輸出:9德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)圖6測(cè)試走開(kāi)方法功能能否成功圖錯(cuò)誤原由:沒(méi)有錯(cuò)誤。目前狀態(tài):經(jīng)過(guò)5.2測(cè)試結(jié)果分析經(jīng)過(guò)我們小組一天的調(diào)試,我們終于把各模塊整合起來(lái)了。在這過(guò)程中,我們碰到了好多問(wèn)題,像數(shù)據(jù)不般配、括號(hào)不配對(duì)、賦值重復(fù)等。由于C語(yǔ)言的語(yǔ)法限制不太嚴(yán)格,對(duì)變量的種類(lèi)拘束不嚴(yán)格,

15、對(duì)數(shù)組下標(biāo)越界不做檢查等原由,因此,我們的更正工作難度加大。但經(jīng)過(guò)我們這小組共同的努力。此泊車(chē)管理系統(tǒng)可以基本實(shí)現(xiàn)一個(gè)小的停車(chē)場(chǎng)的管理,其“抵達(dá)”與“走開(kāi)”方法都對(duì)比較較圓滿,開(kāi)銷(xiāo)結(jié)算清單直觀。在輸入數(shù)據(jù)時(shí),要依據(jù)嚴(yán)格的格式輸入,不然有可能出現(xiàn)逝世或崩潰。若本系統(tǒng)能加上保留功能就更好了,由于一個(gè)系統(tǒng)在使用過(guò)程中總會(huì)關(guān)機(jī)等,而此系統(tǒng)的弊端倒是沒(méi)有保留功能,封閉此后數(shù)據(jù)拋棄?,F(xiàn)受限于各樣條件,又由于要求中并未說(shuō)起,因此本程序暫時(shí)沒(méi)有加入保留功能。10德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)使用說(shuō)明1)運(yùn)轉(zhuǎn)程序,第一出現(xiàn)主界面。主界面包含四個(gè)選項(xiàng):選項(xiàng)1:車(chē)輛抵達(dá)登記,選擇該項(xiàng)

16、可進(jìn)行車(chē)輛抵達(dá)泊車(chē)場(chǎng)狀況登記;選項(xiàng)2:車(chē)輛走開(kāi)登記,選擇該項(xiàng)可進(jìn)行車(chē)輛走開(kāi)泊車(chē)場(chǎng)狀況登記;選項(xiàng)3:車(chē)輛列表顯示,選擇該項(xiàng)可查察車(chē)輛列表顯示的所有信息,包含泊車(chē)場(chǎng)列表和便道列表的所有信息;選項(xiàng)4:退出系統(tǒng),選擇該項(xiàng)將退出程序。圖7程序初始界面圖2)車(chē)輛列表顯示界面包含3個(gè)選項(xiàng):選項(xiàng)1:泊車(chē)場(chǎng)列表,選擇該項(xiàng)可以查察停車(chē)場(chǎng)列表的所有車(chē)輛的所有信息;選項(xiàng)2:便道列表,選擇該項(xiàng)可以查察便道列表顯示的所有信息;選項(xiàng)3:返回主菜單,可返回主界面。11德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)圖8車(chē)輛列表顯示界面圖總結(jié)整體來(lái)說(shuō),此次的課程設(shè)計(jì)比昨年的c語(yǔ)言的課程設(shè)計(jì)稍難。我此次的課程設(shè)計(jì)題

17、目:泊車(chē)場(chǎng)問(wèn)題。比較其余課題來(lái)說(shuō),這個(gè)題目仍是比較簡(jiǎn)單的,主假如運(yùn)用了數(shù)據(jù)結(jié)構(gòu)中棧和行列的知識(shí)和操作。程序可以實(shí)現(xiàn)基本的車(chē)輛抵達(dá)、走開(kāi)、收費(fèi)、遍歷顯示等主要功能。但我感覺(jué)這個(gè)程序還有好多小的地方是可以圓滿的,比方:在計(jì)算收費(fèi)時(shí)假如走開(kāi)時(shí)間是到了次日,這樣就會(huì)致使收費(fèi)是負(fù)的或減少好多。也就是說(shuō),該程序限制于只能規(guī)定當(dāng)日停,當(dāng)日開(kāi)走。至于加算天數(shù)的功能我改了幾次改不好,又基于程序要求中也沒(méi)有說(shuō)起而且時(shí)間緊張,因此也就沒(méi)再去研究實(shí)現(xiàn)。只需能實(shí)現(xiàn)主要的功能就好了。自然,此次的課程設(shè)計(jì)、編程實(shí)踐仍是受益匪淺的。經(jīng)過(guò)實(shí)習(xí)我的收獲以下:我知道了如何去簡(jiǎn)化程序,減少他的時(shí)間復(fù)雜度和空間復(fù)雜度。還知道了如何去圓

18、滿程序,使其更具強(qiáng)健性。堅(jiān)固和加深了對(duì)數(shù)據(jù)構(gòu)造有關(guān)知識(shí)的理解,提升綜合運(yùn)用本課程所學(xué)知識(shí)的能力。12德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)培育了我采用參照書(shū),查閱手冊(cè)及文件資料的能力。培育獨(dú)立思慮、深入研究、分析問(wèn)題、解決問(wèn)題的能力。經(jīng)過(guò)實(shí)質(zhì)編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法。經(jīng)過(guò)課程設(shè)計(jì),培育了我嚴(yán)肅仔細(xì)的工作作風(fēng),逐漸成立正確的生產(chǎn)見(jiàn)解、經(jīng)濟(jì)見(jiàn)解和全局見(jiàn)解。依據(jù)我在實(shí)習(xí)中碰到的問(wèn)題,我將在此后的學(xué)習(xí)過(guò)程中注意以下幾點(diǎn):仔細(xì)上好專(zhuān)業(yè)實(shí)驗(yàn)課,多在實(shí)踐中鍛煉自己。更讓我懂得實(shí)踐是查驗(yàn)和掌握真諦的最好方法。寫(xiě)程序的過(guò)程中要考慮周祥、嚴(yán)實(shí)。需求分析需要頻頻思

19、慮修正。在做課程設(shè)計(jì)的時(shí)候要有信心、有耐心,切勿煩躁。仔細(xì)學(xué)習(xí)課本知識(shí),掌握課本中的知識(shí)點(diǎn),并在此基礎(chǔ)上學(xué)會(huì)靈巧運(yùn)用。在課余時(shí)間里多寫(xiě)程序,嫻熟掌握在調(diào)試程序的過(guò)程中所碰到的常有錯(cuò)誤,以便能節(jié)儉調(diào)試程序的時(shí)間??傊?本次課程設(shè)計(jì)不只加深了我們對(duì)棧和行列等數(shù)據(jù)構(gòu)造的理解和掌握,同時(shí)必然程度上提升了我們程序設(shè)計(jì)和閱讀程序的能力。本次課程設(shè)計(jì)提升了我們的專(zhuān)業(yè)知識(shí),使自己所學(xué)的內(nèi)容運(yùn)用到實(shí)質(zhì)中來(lái),也加強(qiáng)了實(shí)質(zhì)操作能力,為此后的工作學(xué)習(xí)供給了一個(gè)優(yōu)秀的鋪墊。參照文件嚴(yán)蔚敏,吳偉民.數(shù)據(jù)構(gòu)造M.北京:清華大學(xué)第一版社,2004.李春葆.數(shù)據(jù)構(gòu)造分析M.北京:清華大學(xué)第一版社,2001.譚浩強(qiáng).C語(yǔ)言程序設(shè)

20、計(jì)M.北京:清華大學(xué)第一版社,2005.4朱戰(zhàn)立,張選平.數(shù)據(jù)構(gòu)造學(xué)習(xí)指導(dǎo)與典型題解M.西安:西安交通大學(xué)第一版社,2002.5張玲,席德春,劉曉杰.C語(yǔ)言上機(jī)實(shí)踐指導(dǎo)教程M.北京:機(jī)械工業(yè)第一版社,2004.6羅文劼,王苗,石強(qiáng).數(shù)據(jù)構(gòu)造習(xí)題解答與實(shí)驗(yàn)指導(dǎo)M.北京:中國(guó)鐵道第一版社,2004.7殷人昆,陶永雷,謝若陽(yáng)等.數(shù)據(jù)構(gòu)造M.北京:清華大學(xué)第一版社,2005.13德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)附錄系統(tǒng)說(shuō)明:本系統(tǒng)適應(yīng)于小型泊車(chē)場(chǎng),且泊車(chē)時(shí)間在一天以內(nèi)的短期停放泊車(chē)場(chǎng)。在此系統(tǒng)中,車(chē)庫(kù)容量設(shè)置為3,便于測(cè)試。在實(shí)質(zhì)使用中可以對(duì)容量大小按實(shí)質(zhì)狀況設(shè)置。#in

21、clude#include#include#defineMAX3/泊車(chē)場(chǎng)最大容量為3輛,便于察看#defineprice0.02定義時(shí)間構(gòu)造體typedefstructtimeinthour;intmin;Time;定義車(chē)輛信息構(gòu)造體typedefstructnodecharnum10;Timereach;Timeleave;CarNode;typedefstructNODECarNode*stackMAX+1;inttop;SeqStackCar;/模擬泊車(chē)場(chǎng)typedefstructcarCarNode*data;structcar*next;QueueNode;typedefstruct

22、NodeQueueNode*head;QueueNode*rear;LinkQueueCar;/模擬便道方法申明voidInitStack(SeqStackCar*);/初始化棧14德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)intInitQueue(LinkQueueCar*);/初始化便道intArrival(SeqStackCar*,LinkQueueCar*);/車(chē)輛抵達(dá)voidLeave(SeqStackCar*,SeqStackCar*,LinkQueueCar*);/車(chē)輛走開(kāi)voidPRINT(CarNode*p,introom);/車(chē)輛收費(fèi)voidList1(

23、SeqStackCar*S);/顯示車(chē)場(chǎng)里的車(chē)輛狀況voidList2(LinkQueueCar*W);/顯示便道上的車(chē)輛狀況voidList(SeqStackCar,LinkQueueCar);/顯示信息/voidsavecar(CarNode*);/保留車(chē)輛信息自定義函數(shù)/*voidsavecar(CarNode*p1)/保留車(chē)輛信息FILE*fp1;if(fp1=fopen(car1.txt,w)=NULL)printf(nt不可以保留車(chē)輛信息n);return;while(p1)fwrite(p1,sizeof(structnode),1,fp1);p1=p1-next;*/棧的初始化

24、voidInitStack(SeqStackCar*s)inti;s-top=0;for(i=0;istacks-top=NULL;行列的初始化intInitQueue(LinkQueueCar*Q)Q-head=(QueueNode*)malloc(sizeof(QueueNode);if(Q-head!=NULL)Q-head-next=NULL;Q-rear=Q-head;return(1);elsereturn(-1);15德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)車(chē)輛收費(fèi)voidPRINT(CarNode*p,introom)intA1,A2,B1,B2;prin

25、tf(n請(qǐng)輸入車(chē)輛走開(kāi)的時(shí)間:(小時(shí):分鐘);scanf(%d:%d,&(p-leave.hour),&(p-leave.min);while(p-leave.hourleave.hour23)printf(您的輸入有誤!);printf(請(qǐng)從頭輸入走開(kāi)時(shí)間的時(shí)(0-23):);scanf(%d,&(p-leave.hour);if(p-leave.minleave.min59)printf(您的輸入有誤!);printf(請(qǐng)從頭輸入走開(kāi)時(shí)間的分(0-59):);scanf(%d,&(p-leave.min);printf(n走開(kāi)車(chē)輛的車(chē)牌號(hào)為:);puts(p-num);printf(n該車(chē)

26、抵達(dá)時(shí)間為:%d:%d,p-reach.hour,p-reach.min);printf(n該車(chē)走開(kāi)時(shí)間為:%d:%d,p-leave.hour,p-leave.min);A1=p-reach.hour;A2=p-reach.min;B1=p-leave.hour;B2=p-leave.min;printf(n應(yīng)交開(kāi)銷(xiāo)為:%2.1f元!,(B1-A1)*60+(B2-A2)*price);free(p);車(chē)輛的抵達(dá)登記intArrival(SeqStackCar*Enter,LinkQueueCar*W)/charnum10;/inta;CarNode*p;QueueNode*t;p=(Car

27、Node*)malloc(sizeof(CarNode);flushall();/清空緩存輸入的作用printf(n請(qǐng)輸入車(chē)牌號(hào)(例:豫B1234):);gets(p-num);/*a=Enter-top;loop:scanf(%s,&num);if(a=0)16德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)strcpy(p-num,num);a+;while(a)if(strcmp(num,Enter-stacka-num)=0)printf(您輸入的車(chē)牌號(hào)重復(fù),請(qǐng)從頭輸入!);gotoloop;*/if(Enter-toptop+;printf(n車(chē)輛在車(chē)場(chǎng)第%d地點(diǎn).,E

28、nter-top);printf(n車(chē)輛抵達(dá)時(shí)間:);scanf(%d:%d,&(p-reach.hour),&(p-reach.min);while(p-reach.hourreach.hour23)/控制時(shí)間格式正確printf(您的輸入有誤!);printf(請(qǐng)從頭輸入抵達(dá)時(shí)間的時(shí)(0-23):);scanf(%d,&(p-reach.hour);while(p-reach.minreach.min59)/控制分鐘輸入正確printf(您的輸入有誤!);printf(請(qǐng)從頭輸入抵達(dá)時(shí)間的分(0-59):);scanf(%d,&(p-reach.min);Enter-stackEnter-

29、top=p;printf(n恭賀您登記成功!);/savecar(?);printf(n);return(1);else/車(chē)場(chǎng)已滿,車(chē)進(jìn)便道printf(n您好,泊車(chē)場(chǎng)車(chē)位已滿,請(qǐng)?jiān)撥?chē)在便道上等候!有空余車(chē)位時(shí)才能進(jìn)入泊車(chē)場(chǎng)!/n);t=(QueueNode*)malloc(sizeof(QueueNode);t-data=p;t-next=NULL;W-rear-next=t;W-rear=t;17德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)return(1);車(chē)輛的走開(kāi)voidLeave(SeqStackCar*Enter,SeqStackCar*Temp,LinkQue

30、ueCar*W)introom;CarNode*p,*t;QueueNode*q;if(Enter-top0)/判斷泊車(chē)場(chǎng)能否為空while(1)/輸入走開(kāi)車(chē)輛的信息printf(n請(qǐng)輸入車(chē)在車(chē)場(chǎng)的地點(diǎn)/1-%d/:,Enter-top);scanf(%d,&room);if(room=1&roomtop)break;elseprintf(n您的輸入有誤,請(qǐng)從頭輸入:);while(Enter-toproom)/把要走開(kāi)車(chē)輛前面的車(chē)開(kāi)出來(lái),進(jìn)暫時(shí)棧。Temp-top+;/暫時(shí)通道的棧頂指針Temp-stackTemp-top=Enter-stackEnter-top;Enter-stackEn

31、ter-top=NULL;Enter-top-;p=Enter-stackEnter-top;/把要?jiǎng)h除的車(chē)輛節(jié)點(diǎn)賦給p。Enter-stackEnter-top=NULL;Enter-top-;while(Temp-top=1)/判斷暫時(shí)通道上能否有車(chē)。Enter-top+;Enter-stackEnter-top=Temp-stackTemp-top;Temp-stackTemp-top=NULL;Temp-top-;PRINT(p,room);/調(diào)用計(jì)費(fèi)函數(shù)計(jì)費(fèi)。if(W-head!=W-rear)&Enter-tophead-next;t=q-data;Enter-top+;print

32、f(n便道上的%s號(hào)車(chē)進(jìn)入泊車(chē)場(chǎng)內(nèi)第%d地點(diǎn).,t-num,Enter-top);printf(n請(qǐng)輸入%s號(hào)車(chē)進(jìn)入泊車(chē)場(chǎng)的時(shí)間:,t-num);18德州學(xué)院2012級(jí)信息管理學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)數(shù)據(jù)構(gòu)造課程設(shè)計(jì)scanf(%d:%d,&(t-reach.hour),&(t-reach.min);while(t-reach.hourreach.hour23)/控制時(shí)間格式正確printf(您的輸入有誤!);printf(請(qǐng)從頭輸入抵達(dá)時(shí)間的時(shí)(0-23):);scanf(%d,&(t-reach.hour);while(t-reach.minreach.min59)/控制分鐘輸入正確printf(您的輸入有誤!);printf(請(qǐng)從頭輸入抵達(dá)時(shí)間的分(0-59):);scanf(%d,&(t-reach.min);W-head-next=q-next;if(q=W-rear)W-rear=W-head;Enter-stackEnter-top=t;printf(n恭賀您登記成功!);free(q);elseprintf(n您好,便道上沒(méi)有車(chē)!n);printf(n);elseprintf(n您好,泊車(chē)場(chǎng)內(nèi)沒(méi)有車(chē)!);printf(n

溫馨提示

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

評(píng)論

0/150

提交評(píng)論