數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 停車場(chǎng)管理系統(tǒng)
《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 停車場(chǎng)管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 停車場(chǎng)管理系統(tǒng)(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、課 程 設(shè) 計(jì) 報(bào) 告課程名稱課程名稱 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 課題名稱課題名稱 停車場(chǎng)管理系統(tǒng)停車場(chǎng)管理系統(tǒng) 專專 業(yè)業(yè) 信息管理與信息系統(tǒng)信息管理與信息系統(tǒng) 班班 級(jí)級(jí) 信管信管 0901 學(xué)學(xué) 號(hào)號(hào) 200903110122 姓姓 名名 指導(dǎo)教師指導(dǎo)教師 2011 年年 1 月月 09 日日2湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書(shū)課程名稱 數(shù)據(jù)結(jié)構(gòu) 課 題 停車場(chǎng)管理管理系統(tǒng) 專業(yè)班級(jí) 信 管 0901 學(xué)生姓名 學(xué) 號(hào) 200903110202 指導(dǎo)老師 審 批 任務(wù)書(shū)下達(dá)日期 2010 年 1 月 09 日任務(wù)完成日期 2011 年 1 月 20 日3一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求
2、1 設(shè)計(jì)設(shè)計(jì)內(nèi)容:內(nèi)容:?jiǎn)栴}描述設(shè)停車場(chǎng)只有一個(gè)可停放幾輛汽車的狹長(zhǎng)通道,且只有一個(gè)大門可供汽車進(jìn)出,汽車在停車場(chǎng)內(nèi)按車輛的先后順序依次排列,若車站內(nèi)已停滿汽車,則后來(lái)的汽車只能在門外的通道上等停,一旦停車場(chǎng)內(nèi)有車開(kāi)走,則排在通道上的第一輛車即可進(jìn)入;當(dāng)停車場(chǎng)內(nèi)某輛車要離開(kāi)時(shí),由于停車場(chǎng)是狹長(zhǎng)的通道,在它之后開(kāi)入的車輛必須先退出車站為它讓路,待該車輛開(kāi)出大門,為它讓路的車輛再按原來(lái)次序進(jìn)入車場(chǎng)。在這里假設(shè)汽車不能從便道上開(kāi)走,試設(shè)計(jì)這樣一個(gè)停車場(chǎng)模擬管理程序?;竟δ埽?) 車輛成批入站。當(dāng)一個(gè)停車場(chǎng)剛開(kāi)始投入運(yùn)行的時(shí)候,會(huì)有很多車進(jìn)來(lái),因此,要設(shè)計(jì)一個(gè)函數(shù)來(lái)實(shí)現(xiàn)車輛批量進(jìn)站。并要檢測(cè)車輛的數(shù)
3、目是否超過(guò)規(guī)定的最大容量,給出相關(guān)提示信息。(2)單個(gè)車輛入站。當(dāng)系統(tǒng)正常投入運(yùn)行后,會(huì)有零散的車輛進(jìn)進(jìn)出出,因此,設(shè)計(jì)一個(gè)函數(shù)實(shí)現(xiàn)單個(gè)車輛入站。(3)車站內(nèi)信息實(shí)時(shí)顯示。車站內(nèi)信息包括兩個(gè)部分:停車場(chǎng)內(nèi)停放的車輛以及在外面通道上等停的車輛。(4)車輛出站。當(dāng)停車場(chǎng)內(nèi)車輛出站后,檢查通道上是否有車等停,如果有,則要把排在最前面的車調(diào)入停車場(chǎng)內(nèi)。2 設(shè)計(jì)設(shè)計(jì)要求:要求:1) 設(shè)計(jì)正確,方案合理。2) 界面友好,使用方便。3) 程序精煉,結(jié)構(gòu)清晰。4) 設(shè)計(jì)報(bào)告 5000 字以上,含程序設(shè)計(jì)說(shuō)明、系統(tǒng)的功能框圖、流程圖、4源程序清單等。5) 實(shí)際操作過(guò)程中遇到的問(wèn)題及解決方法:設(shè)計(jì)總結(jié)及心得體會(huì)。
4、6) 上機(jī)演示。 二、進(jìn)度安排第 19 周 星期一 8 時(shí):00 分11 時(shí):30 分 星期二 8 時(shí):00 分11 時(shí):30 分 星期三 14 時(shí):00 分17 時(shí):30 分 星期四 14 時(shí):00 分17 時(shí):30 分 星期五 8 時(shí):00 分11 時(shí):30 分第 20 周 星期一 8 時(shí):00 分11 時(shí):30 分 附:課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書(shū)、目錄、正文、評(píng)分、附件(A4 大小的圖紙及程序清單) 。 正文的格式:一級(jí)標(biāo)題用 3 號(hào)黑體,二級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體;行距為 22。正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫(huà)出模塊圖) ;三、主要
5、功能的實(shí)現(xiàn)課塊劃畫(huà)塊圖實(shí)(至少要有一個(gè)主要模塊的流程圖) ;四、程序調(diào)試;五、總結(jié);六、附件(所有程序的源代碼,要求對(duì)程序?qū)懗霰匾淖⑨專?。正文總字?jǐn)?shù)要求在 5000 字以上(不含程序源代碼) 。 目 錄1、緒論 .61.1 課程設(shè)計(jì)的目的和意義.62、需求分析.652.1、課程設(shè)計(jì)的目的.62.2、課程設(shè)計(jì)的任務(wù).62.4、系統(tǒng)總體設(shè)計(jì)圖.73、詳細(xì)信息.73.1 基本信息.74、詳細(xì)設(shè)計(jì).74.1 問(wèn)題定義.84.2、流程圖及系統(tǒng)測(cè)試.84.2.1、進(jìn)停車場(chǎng).84.2.2 車輛離開(kāi).84.3、程序運(yùn)行圖.94.3.1、菜單欄.94.3.2、輸入信息欄 10 4.3.3、出車欄.104.3
6、.4、顯示欄.115、心得感受.116、附錄 .126.1、源程序.126.2、參考文獻(xiàn).217、評(píng)分表.221、緒論1.1 課程設(shè)計(jì)的目的和意義當(dāng)代大學(xué)生是一個(gè)特殊的團(tuán)體,他們具有較高知識(shí)修養(yǎng)和較強(qiáng)綜合素質(zhì),但是他們中的大部分卻不具有與他們能力相符的動(dòng)手能力與就業(yè)競(jìng)爭(zhēng)能力。大學(xué)畢業(yè)生是新興勞動(dòng)力的組成部分,提高大學(xué)畢業(yè)生就業(yè)工作發(fā)展水平,事關(guān)我國(guó)經(jīng)濟(jì)社會(huì)可持續(xù)發(fā)展的進(jìn)程 ,高校作為培養(yǎng)大學(xué)生的搖籃,必須責(zé)無(wú)旁貸地承擔(dān)6起提高大學(xué)生就業(yè)能力的重任。提高大學(xué)生的就業(yè)能力,不僅需要教師付出辛勤的勞動(dòng),還需要一套科學(xué)完善的制度作為保障,而高校畢業(yè)生基本情況數(shù)據(jù)庫(kù)管理系統(tǒng)無(wú)疑是一個(gè)很好的嘗試。本文設(shè)計(jì)
7、的這套數(shù)據(jù)庫(kù)管理系統(tǒng),是綜合日常管理、實(shí)踐考核、科目成績(jī)統(tǒng)計(jì)、就業(yè)管理等等的綜合性數(shù)據(jù)庫(kù)系統(tǒng)。設(shè)計(jì)學(xué)生管理這樣一個(gè)系統(tǒng),可以涉及到大多數(shù) MFC 與 C 語(yǔ)言數(shù)據(jù)庫(kù)的重要數(shù)據(jù)庫(kù)對(duì)象、重要功能和特性,例如:視圖、觸發(fā)器和存儲(chǔ)過(guò)程等。由此,通過(guò)這個(gè)課程設(shè)計(jì)可以加深學(xué)生對(duì)這些 MFC 與 C 語(yǔ)言數(shù)據(jù)結(jié)構(gòu)知識(shí)的學(xué)習(xí)、理解,積累在實(shí)際工程應(yīng)用中運(yùn)用各種數(shù)據(jù)庫(kù)對(duì)象的經(jīng)驗(yàn),使學(xué)生掌握使用應(yīng)用軟件開(kāi)發(fā)工具開(kāi)發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)的基本方法。在實(shí)用性方面,學(xué)生管理系統(tǒng)是很普遍的一種應(yīng)用,選擇該系統(tǒng)作為課程設(shè)計(jì)也可以為學(xué)生以后可能遇到的實(shí)際開(kāi)發(fā)提供借鑒。2 2、需求分析2.1、課程設(shè)計(jì)的目的運(yùn)用數(shù)據(jù)結(jié)構(gòu)編寫(xiě)一個(gè) C
8、語(yǔ)言程序,實(shí)現(xiàn)對(duì)停車場(chǎng)的管理。只要包括:車輛到達(dá)時(shí)得信息登記,車輛離開(kāi)時(shí)得信息記錄及便道的車輛信息的顯示功能。2.2、課程設(shè)計(jì)的任務(wù)該系統(tǒng)實(shí)現(xiàn)以下幾個(gè)功能:2.21、車輛到達(dá)信息登記:包括車牌號(hào),在停車場(chǎng)停放的位置等;2.22 、車輛離開(kāi)信息記錄;2.23、信息顯示:顯示停車場(chǎng)內(nèi)和便道內(nèi)的汽車到達(dá)及位置等信息;2.3、軟件運(yùn)行和開(kāi)發(fā)工具1、windows2000 以上操作系統(tǒng)2、VisualC+6.0 開(kāi)發(fā)環(huán)境72.42.4、系統(tǒng)總體設(shè)計(jì)圖、系統(tǒng)總體設(shè)計(jì)圖 3、詳細(xì)信息3.1 基本信息 車的車牌號(hào),到達(dá)時(shí)信息及離開(kāi)時(shí)信息。4、詳細(xì)設(shè)計(jì)使用 Visual C+平臺(tái)設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)的主框架。4
9、.1 問(wèn)題定義該程序主要是為了實(shí)現(xiàn)對(duì)車庫(kù)的管理,為實(shí)現(xiàn)該功能先定義了一個(gè)系統(tǒng)菜單: 停車場(chǎng)管理系統(tǒng)車輛到達(dá)車輛離去便道信息退出信息8(1)添加信息 (4)查找停車信息 (5)顯示全部信息 (7)顯示統(tǒng)計(jì)數(shù)據(jù)4.2、流程圖及系統(tǒng)測(cè)試4.2.14.2.1、進(jìn)停車場(chǎng)、進(jìn)停車場(chǎng)車輛進(jìn)停車場(chǎng)是否有車進(jìn)入停車場(chǎng)記錄信息回主菜單進(jìn)入便道記錄信息YN 圖4.41 進(jìn)停車場(chǎng)流程4.2.24.2.2 車輛離開(kāi)車輛離開(kāi)9車輛進(jìn)停車場(chǎng)是否有車進(jìn)入停車場(chǎng)記錄信息回主菜單進(jìn)入便道記錄信息YN 圖 4.42 車輛離開(kāi)4.3、程序運(yùn)行圖4.3.14.3.1、菜單欄、菜單欄 圖 4.31 菜單欄運(yùn)行圖104.3.24.3.2、
10、輸入信息欄、輸入信息欄 圖 4.32 輸入信息欄運(yùn)行圖4.3.34.3.3、出車欄、出車欄11 圖 4.33 出車欄運(yùn)行圖4.3.44.3.4、顯示欄、顯示欄 圖 4.35 顯示欄運(yùn)行圖5、心得感受 開(kāi)始時(shí)候的課程設(shè)計(jì)完全沒(méi)有思路,感覺(jué)很迷茫,不知道從何做起。幸好在課設(shè)之前趙老師給我們做了很詳細(xì)的指點(diǎn),記得在大一的時(shí)候老師就提到過(guò)她,當(dāng)時(shí)就給我們留下了深刻的印象。是一位很負(fù)責(zé)任的,很有耐心的好老師,我們很愛(ài)戴趙老師。 課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)
11、今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握管理項(xiàng)目的開(kāi)發(fā)技術(shù)是十分重要的。 回顧起此次圖書(shū)館借書(shū)系統(tǒng)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在整整一星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到12了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困
12、難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。在以后會(huì)有更多的課程設(shè)計(jì),我們現(xiàn)在的努力是為了將來(lái)打好基礎(chǔ),趙老師很認(rèn)真的對(duì)待我們的答辯,這是一種很負(fù)責(zé)任的表現(xiàn),這是要讓我們真正的自己動(dòng)手,了解和掌握一些基本知識(shí),在以后的工作中做到游刃有余。 這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問(wèn)題,最后在趙老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在趙錦元老師的身上我學(xué)得到很多實(shí)用的知識(shí),在次我表示感謝!同時(shí),對(duì)給過(guò)我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次
13、表示忠心的感謝!6、附錄6.1、源程序#include #include #include #include /常量定義#define MAX_STOP 5 /定義停車場(chǎng)最大停車數(shù)#define MAX_PLATE 10 /定義車牌號(hào)最大長(zhǎng)度using namespace std; /使用 std 命名空間/定義存儲(chǔ)汽車信息的結(jié)構(gòu)體13typedef struct char license_plateMAX_PLATE; /汽車牌照號(hào)碼,定義為一個(gè)字符指針類型 char state; /汽車當(dāng)前狀態(tài),字符 p 表示停放在停車位上,字符 s 表示停放在便道上,每輛車的初始狀態(tài)用字符 i 來(lái)進(jìn)行表
14、示CAR;/定義模擬停車場(chǎng)的棧結(jié)構(gòu)typedef struct CAR STOPMAX_STOP; /汽車信息的存儲(chǔ)空間 int top; /用來(lái)指示棧頂位置的靜態(tài)指針SeqStack;/定義模擬便道的隊(duì)列結(jié)構(gòu)typedef struct node CAR WAIT; /汽車信息的存儲(chǔ)空間 struct node *next; /用來(lái)指示隊(duì)列位置的動(dòng)態(tài)指針QNode; /鏈隊(duì)列節(jié)點(diǎn)的類型/定義鏈隊(duì)列的收尾指針typedef struct QNode *front,*rear;LQueue; /將頭尾指針?lè)庋b在一起的鏈隊(duì)/函數(shù)聲明 int Empty_LQueue(LQueue *q); /判隊(duì)
15、空int LeaveCheck(SeqStack parking , char *license_plate); /檢查離開(kāi)的車是否在停車場(chǎng)中int QueueLength(LQueue *q); /判隊(duì)長(zhǎng)度int Out_LQueue(LQueue *&sidewalk , char *license_plate); /出隊(duì)操作int StackEmpty(SeqStack parking); /判斷棧是否為空int StackFull(SeqStack parking); /判斷棧是否為滿int StackPop(SeqStack &parking); /出棧操作int StackTop(
16、SeqStack parking , char *license_plate); /取棧頂元素void Car_come(SeqStack &parking , LQueue *&sidewalk); /有車到來(lái)時(shí)的操作14void Car_leave(SeqStack &parking , LQueue *&sidewalk); /有車離開(kāi)的操作void Display(SeqStack parking); /顯示停車場(chǎng)內(nèi)的所有信息 調(diào)試時(shí)用void InitStack(SeqStack &parking); /初始化棧void InitList(LQueue *&sidewalk); /初
17、始化隊(duì)列void In_LQueue(LQueue *&sidewalk , char *license_plate); /進(jìn)隊(duì)操作void Input_Check(char *license_plate); /檢驗(yàn)輸入的車牌是否合法void StackPush(SeqStack &parking , char *license_plate);/進(jìn)棧操作void main() /定義變量 SeqStack parking; LQueue *sidewalk = NULL; char *choice = new char; int flag = 1; /定義一個(gè)變量 判斷是否退出 InitSta
18、ck(parking); /初始化一個(gè)為空的停車場(chǎng) InitList(sidewalk); /初始化一個(gè)為空的便道 while(flag) /運(yùn)行界面及功能選擇 coutt*nn; coutt*歡迎來(lái)到王凌鋒的停車場(chǎng)*nn; coutt| 停車場(chǎng)模擬管理系統(tǒng) |nn; coutt|-|nn; coutt| |nn; coutt| 有車到來(lái)時(shí)請(qǐng)按 C 鍵。 |nn; coutt| 有車要走時(shí)請(qǐng)按 l 鍵。 |nn; coutt| 查看停車場(chǎng)請(qǐng)按 D 鍵。 |nn; coutt| 要退出系統(tǒng)請(qǐng)按 Q 鍵。 |nn; coutt|-|nn; coutt|*nn; cout請(qǐng)選擇操作:; gets(c
19、hoice); if(1 != strlen(choice) cout請(qǐng)正確輸入選項(xiàng)!; continue; else switch(*choice) case c: case C: Car_come(parking,sidewalk);break; 15 case l: case L: Car_leave(parking,sidewalk);break; case q: case Q: flag=0;break; case d: case D: Display(parking);break; default: cout選擇不正確!請(qǐng)重新選擇!n; /有車到來(lái)時(shí)的操作 void Car_com
20、e(SeqStack &parking , LQueue *&sidewalk) char license_plateMAX_PLATE; /定義變量 cout請(qǐng)輸入車輛的車牌號(hào)碼:; Input_Check(license_plate); if(StackFull(parking) /判斷停車場(chǎng)是否已滿,滿則進(jìn)入便道,不滿進(jìn)入停車場(chǎng) In_LQueue(sidewalk , license_plate); /進(jìn)入便道 cout停車場(chǎng)已滿請(qǐng)?jiān)诒愕赖群?您的位置為QueueLength(sidewalk) endl; else StackPush(parking , license_plate)
21、; /進(jìn)入停車場(chǎng) cout請(qǐng)進(jìn)入停車場(chǎng)中的parking.top+1號(hào)停車位n; / Display(parking);16void Car_leave(SeqStack &parking , LQueue *&sidewalk) /有車離開(kāi)時(shí)的操作 SeqStack tmpparking; /定義臨時(shí)停車場(chǎng) char leave_license_plateMAX_PLATE; /要離開(kāi)的車牌號(hào) char license_plateMAX_PLATE; /存放從停車場(chǎng)中讀出來(lái)的車牌信息 InitStack(tmpparking); /初始化臨時(shí)停車場(chǎng) if(StackEmpty(parking
22、) /判斷停車場(chǎng)中是否有車 cout當(dāng)前停車場(chǎng)中沒(méi)有車n; return; /退出子函數(shù) cout請(qǐng)輸入要離開(kāi)的車牌照:; Input_Check(leave_license_plate); cout當(dāng)前停車場(chǎng)中有parking.top+1輛車n; if(LeaveCheck(parking , leave_license_plate) /判斷車是否在停車場(chǎng)中 cout您的車在LeaveCheck(parking , leave_license_plate)號(hào)車位上n; /車在停車場(chǎng)中 while(StackTop(parking , license_plate)& (strcmp(parki
23、ng.STOPparking.top.license_plate, leave_license_plate ) != 0) strcpy(parking.STOPparking.top.license_plate , license_plate); cout牌照為license_plate的車暫時(shí)退出停車場(chǎng)parking.top+1號(hào)位n; StackPush(tmpparking , license_plate); /停車場(chǎng)中的車暫時(shí)退出 進(jìn)入臨時(shí)停車場(chǎng) StackPop(parking); /出棧 cout牌照為license_plate的車離開(kāi)停車場(chǎng)parking.top+1號(hào)位n; S
24、tackPop(parking); /出棧 /將臨時(shí)停車場(chǎng)中的車?;赝\噲?chǎng) while(StackEmpty(tmpparking) != 1) StackTop(tmpparking , license_plate); StackPush(parking , license_plate ); cout牌照為license_plate的車進(jìn)入停車場(chǎng)parking.top+1號(hào)位n; license_plate0 = 0;17 StackPop(tmpparking); if(parking.top+1 = MAX_STOP-1) /判斷車離開(kāi)前停車場(chǎng)是否停滿 if(QueueLength(si
25、dewalk) /如果停滿則判斷便道上是否有車 /便道中有車 則從便道中停入停車場(chǎng) Out_LQueue(sidewalk , license_plate); /出隊(duì) StackPush(parking , license_plate); /入棧 cout在便道中牌照為license_plate的車進(jìn)入停車場(chǎng)parking.top+1號(hào)位n; else /車不在停車場(chǎng)中 cout您的車不在停車場(chǎng)中!n;/初始化順序棧void InitStack(SeqStack &parking) parking.top = -1;/判??読nt StackEmpty(SeqStack parking) if
26、(parking.top = -1) return 1; else return 0;/判棧滿int StackFull(SeqStack parking) if(parking.top = MAX_STOP-1) return 1; else return 0;/入棧void StackPush(SeqStack &parking , char *license_plate) parking.top+; strcpy(parking.STOPparking.top.license_plate , license_plate); parking.STOPparking.top.state =
27、p;18/出棧 返回棧頂指針int StackPop(SeqStack &parking) if(StackEmpty(parking) return 0; else return parking.top-;/取棧頂元素int StackTop(SeqStack parking , char *license_plate ) if(StackEmpty(parking) return 0; else strcpy(license_plate , parking.STOPparking.top.license_plate); return 1; /顯示所有void Display(SeqStac
28、k parking) if(parking.top = -1) printf(停車場(chǎng)為空n); else while(parking.top != -1) cout車牌號(hào)為:parking.STOPparking.top.license_plate; cout,停在parking.top + 1 front=sidewalk-rear = NULL;/入隊(duì)void In_LQueue(LQueue *&sidewalk,char *license_plate) 19 QNode *car_on_sidewalk; car_on_sidewalk = (QNode *)malloc(sizeof
29、(QNode); /為新節(jié)點(diǎn)開(kāi)辟新空間 strcpy(car_on_sidewalk-WAIT.license_plate , license_plate); /將數(shù)據(jù)寫(xiě)入節(jié)點(diǎn) car_on_sidewalk-WAIT.state = s; /寫(xiě)入停車信息 car_on_sidewalk-next = NULL; if(Empty_LQueue(sidewalk) /隊(duì)空則創(chuàng)建第一個(gè)節(jié)點(diǎn) sidewalk-front = sidewalk-rear = car_on_sidewalk; else /隊(duì)非空插入隊(duì)尾 sidewalk-rear-next = car_on_sidewalk; si
30、dewalk-rear = car_on_sidewalk; /判隊(duì)空int Empty_LQueue(LQueue *q) if(q-front = NULL) return 1; else return 0;/判隊(duì)長(zhǎng)度 返回隊(duì)長(zhǎng)int QueueLength(LQueue *q) QNode *p=q-front; int i=0; while(p != NULL) i+; p=p-next; return i; /出隊(duì) 成功返回 1 隊(duì)空返回 0int Out_LQueue(LQueue *&sidewalk,char *license_plate) QNode *car_on_side
31、walk; if(Empty_LQueue(sidewalk) /如果隊(duì)空返回 0 return 0; car_on_sidewalk = sidewalk-front; strcpy(license_plate , car_on_sidewalk-WAIT.license_plate); /取出隊(duì)頭元素20 if(sidewalk-front = sidewalk-rear) /隊(duì)中只有一個(gè)元素 sidewalk-front = sidewalk-rear=NULL; /刪除元素 else sidewalk-front = sidewalk-front-next; /隊(duì)頭指針后移 free(
32、car_on_sidewalk); /釋放指針 return 1; /檢查離開(kāi)的車是否在停車場(chǎng)中 返回車在停車場(chǎng)中位置 不在則返回 0int LeaveCheck(SeqStack parking,char *license_plate) int flag = parking.top+1; /定義變量記錄當(dāng)前車在停車場(chǎng)中位置 if(StackEmpty(parking) return 0; else /查找離開(kāi)車所在位置 while(parking.top != -1 & strcmp(parking.STOPparking.top.license_plate , license_plate)
33、 != 0) flag-; parking.top-; return flag; /檢驗(yàn)輸入的車牌是否合法void Input_Check(char *license_plate) int flag = 1; int i; string tmpstr; while(flag) cintmpstr; getchar(); if(tmpstr.length()MAX_PLATE) for(i=0;i10;i+) license_platei = tmpstr.c_str()i; flag = 0; else cout輸入有誤,請(qǐng)重新輸入:;21 7、評(píng)分表計(jì)算機(jī)與通信學(xué)院課程設(shè)計(jì)評(píng)分表課程名稱: 數(shù)據(jù)結(jié)構(gòu) 項(xiàng)項(xiàng) 目目評(píng)評(píng) 價(jià)價(jià)設(shè)計(jì)方案的合理性與創(chuàng)造性設(shè)計(jì)與調(diào)試結(jié)果設(shè)計(jì)說(shuō)明書(shū)的質(zhì)量答辯陳述與回答問(wèn)題情況課程設(shè)計(jì)周表現(xiàn)情況綜合成績(jī) 教師簽名: 日 期:
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《朱德的扁擔(dān)》名師課件(第二課時(shí))
- 《曹沖稱象》【優(yōu)秀課件推薦】
- 國(guó)際財(cái)務(wù)管理第8章課件
- 水文地質(zhì)學(xué)基礎(chǔ)課程實(shí)驗(yàn)
- 腦出血病人的護(hù)理
- 三年級(jí)下冊(cè)幾百幾十?dāng)?shù)和幾十幾除以一位數(shù)的口算人教版
- 快樂(lè)工作-創(chuàng)造雙贏的人際溝通課件
- 心肺腦復(fù)蘇最新進(jìn)展及新思路-課件
- 制藥用水課件
- 一汽大眾沖壓件認(rèn)可過(guò)程課件
- 一次成功就夠了(哈蘭·山德士)課件
- 一次函數(shù)與一元一次方程及不等式課件
- 感恩節(jié)母親的圖片ppt
- 地中海氣候溫帶季風(fēng)氣候課件
- 亞低溫治療的護(hù)理和展望