




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告系 別: 計(jì)算機(jī)信息與技術(shù)系 _班 級(jí):_ _ b080604_ _ _學(xué) 號(hào):_b080605_實(shí)訓(xùn)日期:2010-08-23至2010-08-27數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 開(kāi)課實(shí)驗(yàn)室: room-m_ 2010年08月27日班級(jí)b080604學(xué)號(hào)b080605姓名成績(jī)課程名稱數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)項(xiàng)目名 稱停車場(chǎng)管理系統(tǒng)指導(dǎo)教師趙亞軍教師評(píng)語(yǔ)教師簽名: 年 月 日一、實(shí)驗(yàn)?zāi)康?、 通過(guò)課程設(shè)計(jì),加深對(duì)數(shù)據(jù)結(jié)構(gòu)這一課程所學(xué)內(nèi)容的進(jìn)一步理解與鞏固。2、 通過(guò)課程設(shè)計(jì),加深對(duì)結(jié)構(gòu)化設(shè)計(jì)思想的理解,能對(duì)系統(tǒng)功能進(jìn)行分析,并設(shè)計(jì)合理的模塊化結(jié)構(gòu)。3、 通過(guò)課程設(shè)計(jì),提高程序開(kāi)發(fā)功能,能運(yùn)用
2、合理的控制流程編寫(xiě)清晰高效的程序。4、 通過(guò)課程設(shè)計(jì),訓(xùn)練c程序調(diào)試能力,能將一個(gè)中小型各級(jí)組織系統(tǒng)聯(lián)調(diào)通過(guò)。5、 通過(guò)課程設(shè)計(jì),開(kāi)發(fā)一個(gè)中小型系統(tǒng),掌握系統(tǒng)研發(fā)全過(guò)程。6、 通話課程設(shè)計(jì),培養(yǎng)分析問(wèn)題、解決實(shí)際問(wèn)題的能力。二、功能要求 設(shè)計(jì)一個(gè)停車場(chǎng)管理系統(tǒng),模擬停車場(chǎng)的運(yùn)作,通過(guò)此程序具備以下功能:1、要求以棧模擬停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的數(shù)據(jù)序列進(jìn)行模擬管理2、要求處理的數(shù)據(jù)元素包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息,汽車牌照號(hào)碼及到達(dá)或離去的時(shí)間3、該系統(tǒng)完成以下功能:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或便道上的停車位置;若是離去,則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)
3、間和應(yīng)繳納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))4、要求棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表實(shí)現(xiàn)三、設(shè)計(jì)要求1、獨(dú)立完成全部代碼的設(shè)計(jì)、編寫(xiě)、調(diào)試與部署,運(yùn)行正確無(wú)誤2、編寫(xiě)設(shè)計(jì)報(bào)告書(shū) 設(shè)計(jì)報(bào)告書(shū)應(yīng)包括:(1) 問(wèn)題描述和系統(tǒng)要求(2) 系統(tǒng)主要功能模塊設(shè)計(jì)(3) 設(shè)計(jì)中遇到的問(wèn)題及其解決方法(4) 系統(tǒng)運(yùn)行報(bào)告(5) 總結(jié) 問(wèn)題描述:設(shè)有一個(gè)可以停放n輛汽車的狹長(zhǎng)停車場(chǎng),它只有一個(gè)大門可以供車輛進(jìn)出。車輛按到達(dá)停車場(chǎng)時(shí)間的早晚依次從停車場(chǎng)最里面向大門口處停放(最先到達(dá)的第一輛車放在停車場(chǎng)的最里面)。如果停車場(chǎng)已放滿n輛車,則后來(lái)的車輛只能在停車場(chǎng)大門外的便道上等待,一旦停車場(chǎng)內(nèi)有車開(kāi)走,則排以便道上的第
4、一輛車就進(jìn)入停車場(chǎng)。停車場(chǎng)內(nèi)如有某輛車要開(kāi)走,在它之后進(jìn)入停車場(chǎng)的車都必須先退出停車場(chǎng)為它讓路,待其開(kāi)出停車場(chǎng)后,這些輛再依原來(lái)的次序進(jìn)場(chǎng)。每輛車在離開(kāi)停車場(chǎng)時(shí),都應(yīng)根據(jù)它在停車場(chǎng)內(nèi)停留的時(shí)間長(zhǎng)短交費(fèi)。如果停留在便道上的車未進(jìn)停車場(chǎng)時(shí),允許其離去,不收停車費(fèi),并且仍然保持在便道上等待的車輛的次序。編制一程序模擬該停車場(chǎng)的管理。 基本要求:要求程序輸出每輛車到達(dá)后的停車位置(停車場(chǎng)或便道上),以及某輛車離開(kāi)停車場(chǎng)應(yīng)交納的費(fèi)用和它在停車場(chǎng)內(nèi)停留的時(shí)間。 實(shí)現(xiàn)提示:汽車的模擬輸入信息格式可以是:(到達(dá)/離去,汽車牌照號(hào)碼,到達(dá)/離去的時(shí)刻)。例如,(a,1,5)表示1號(hào)牌照車在5這個(gè)時(shí)刻到達(dá),而(d
5、,5,20)表示5號(hào)牌照車在20這個(gè)時(shí)刻離去。整個(gè)程序可以在輸入信息為(e,0,0)時(shí)結(jié)束。本題可用棧和隊(duì)列來(lái)實(shí)現(xiàn)。四、運(yùn)行環(huán)境1 microsoft visual c+ 6.02 microsoft windows xp 操作系統(tǒng)五、實(shí)驗(yàn)步驟(繪制相應(yīng)的流程圖)interface列表顯示車輛出庫(kù)車輛入庫(kù)信息消除信息登入檢索輸出返回主界面六、實(shí)驗(yàn)過(guò)程原始代碼#include#include#include#define max 5 /*車庫(kù)容量*/#define price 0.05 /*每車每分鐘費(fèi)用*/typedef struct time int hour; int min;time;
6、/*時(shí)間結(jié)點(diǎn)*/typedef struct node char num10; time reach; time leave;carnode; /*車輛信息結(jié)點(diǎn)*/typedef struct node carnode *stackmax+1; int top;seqstackcar; /*模擬車站*/typedef struct car carnode *data; struct car *next;queuenode;typedef struct node queuenode *head; queuenode *rear;linkqueuecar; /*模擬通道*/void initsta
7、ck(seqstackcar *); /*初始化棧*/ int initqueue(linkqueuecar *); /*初始化便道*/int arrival(seqstackcar *,linkqueuecar *); /*車輛到達(dá)*/ void leave(seqstackcar *,seqstackcar *,linkqueuecar *); /*車輛離開(kāi)*/void list(seqstackcar,linkqueuecar); /*顯示存車信息*/void main() seqstackcar enter,temp; linkqueuecar wait; int ch; initst
8、ack(&enter); /*初始化車站*/ initstack(&temp); /*初始化讓路的臨時(shí)棧*/ initqueue(&wait); /*初始化通道*/ while(1) printf(n*n); printf(n*停 車 場(chǎng) 管 理 系 統(tǒng)*n); printf(n*1.車輛到達(dá)登記 * 2.車輛離開(kāi)登記*); printf(n * ); printf(n*); printf(n * ); printf(n*3.車輛列表顯示 * 4. 退 出 系 統(tǒng)*n); printf(n* 歡*迎*使*用 *n); printf(n*n); printf(n*注意:請(qǐng)輸入所需序號(hào)使用本系統(tǒng)*
9、n); while(1) scanf(%d,&ch); if(ch=1&chtop=0; for(i=0;istacks-top=null;int initqueue(linkqueuecar *q) /*初始化便道*/ q-head=(queuenode *)malloc(sizeof(queuenode); if(q-head!=null) q-head-next=null; q-rear=q-head; return(1); else return(-1);void print(carnode *p,int room) /*打印出站車的信息*/ int a1,a2,b1,b2; prin
10、tf(n車輛離開(kāi)的時(shí)間為:n); scanf(%d:%d,&(p-leave.hour),&(p-leave.min); printf(n車牌號(hào)為:n); puts(p-num); printf(n其到達(dá)時(shí)間為: %d:%d,p-reach.hour,p-reach.min); printf(離開(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)交費(fèi)用為: %2.1f元,(b1-a1)*60+(b2-a2)*price)
11、; free(p);int arrival(seqstackcar *enter,linkqueuecar *w) /*車輛到達(dá)*/ carnode *p; queuenode *t; p=(carnode *)malloc(sizeof(carnode); flushall(); printf(n請(qǐng)輸入車牌號(hào)(如:陜a00000):); gets(p-num); if(enter-toptop+; printf(n車輛在車場(chǎng)第%d位置.,enter-top); printf(n車輛到達(dá)時(shí)間為:); scanf(%d:%d,&(p-reach.hour),&(p-reach.min); ent
12、er-stackenter-top=p; return(1); else /*車場(chǎng)已滿,車進(jìn)便道*/ printf(n對(duì)不起,停車位已滿,請(qǐng)?jiān)诒愕赖却?,感謝您的配合); t=(queuenode *)malloc(sizeof(queuenode); t-data=p; t-next=null; w-rear-next=t; w-rear=t; return(1); void leave(seqstackcar *enter,seqstackcar *temp,linkqueuecar *w) /*車輛離開(kāi)*/ int room; carnode *p,*t; queuenode *q;/*判
13、斷車場(chǎng)內(nèi)是否有車*/ if(enter-top0) /*有車*/ while(1) /*輸入離開(kāi)車輛的信息*/ printf(n請(qǐng)輸入車在車場(chǎng)的位置/1-%d/:,enter-top); scanf(%d,&room); if(room=1&roomtop) break; while(enter-toproom) /*車輛離開(kāi)*/ temp-top+; temp-stacktemp-top=enter-stackenter-top; enter-stackenter-top=null; enter-top-; p=enter-stackenter-top; enter-stackenter-t
14、op=null; enter-top-; while(temp-top=1) enter-top+; enter-stackenter-top=temp-stacktemp-top; temp-stacktemp-top=null; temp-top-; print(p,room); /*判斷通道上是否有車及車站是否已滿*/ if(w-head!=w-rear)&enter-tophead-next; t=q-data; enter-top+; printf(n便道的%s號(hào)車進(jìn)入車場(chǎng)第%d位置.,t-num,enter-top); printf(n請(qǐng)輸入車輛進(jìn)入車場(chǎng)的時(shí)間:); scanf(%
15、d:%d,&(t-reach.hour),&(t-reach.min); w-head-next=q-next; if(q=w-rear) w-rear=w-head; enter-stackenter-top=t; free(q); else printf(n便道里沒(méi)有車輛.n); else printf(n車場(chǎng)里沒(méi)有車輛停放.); /*沒(méi)車*/void list1(seqstackcar *s) /*列表顯示車場(chǎng)信息*/ int i; if(s-top0) /*判斷車站內(nèi)是否有車*/ printf(n車場(chǎng):); printf(n 位置 到達(dá)時(shí)間 車牌號(hào)n); for(i=1;itop;i+
16、) printf( %d ,i); printf( %d:%d ,s-stacki-reach.hour,s-stacki-reach.min); puts(s-stacki-num); else printf(n車場(chǎng)里沒(méi)有車);void list2(linkqueuecar *w) /*列表顯示便道信息*/ queuenode *p; p=w-head-next; if(w-head!=w-rear) /*判斷通道上是否有車*/ printf(n等待車輛的號(hào)碼為:); while(p!=null) puts(p-data-num); p=p-next; else printf(n便道里沒(méi)有車
17、.);void list(seqstackcar s,linkqueuecar w) int flag,tag; flag=1; while(flag) printf(n請(qǐng)選擇 1|2|3:); printf(n1.車場(chǎng)列表n2.便道列表n3.返回主菜單n); while(1) scanf(%d,&tag); if(tag=1|tag=3) break; else printf(n請(qǐng)選擇 13:); switch(tag) case 1:list1(&s);break; /*列表顯示車場(chǎng)信息*/ case 2:list2(&w);break; /*列表顯示便道信息*/ case 3:flag=
18、0;break; default: break; 七、實(shí)驗(yàn)結(jié)果及分析 停車場(chǎng)管理系統(tǒng)主界面 停車場(chǎng)車輛信息錄入界面 車輛停滿提示車輛便道等待界面 停車場(chǎng)已停車輛列表顯示界面 便道等待車輛信息界面?zhèn)渥ⅲ簽榉奖隳M停車場(chǎng)實(shí)驗(yàn),停車場(chǎng)最多停車 5輛,若有車輛需要進(jìn)入則需在編導(dǎo)等待。 只有停車場(chǎng)內(nèi)車輛使出后,便道等待車輛 才能夠進(jìn)入停車場(chǎng)。 停車場(chǎng)內(nèi)車輛使出繳費(fèi)及便道車輛進(jìn)入界面八、實(shí)驗(yàn)體會(huì)與收獲(自己的體會(huì),200字以上;每人一份) 這一周的課程設(shè)計(jì),通過(guò)對(duì)停車場(chǎng)管理系統(tǒng)的開(kāi)發(fā),使得我將計(jì)算機(jī)課程所學(xué)知識(shí)與實(shí)際問(wèn)題很好地相連接在了一起。在這次課程設(shè)計(jì)中,不僅培養(yǎng)了我開(kāi)發(fā)一個(gè)中小型程序的能力,而且也培養(yǎng)了我們團(tuán)獨(dú)合作能力。在這次對(duì)停車場(chǎng)管理系統(tǒng)的開(kāi)發(fā)過(guò)程中,我們每個(gè)人互相幫助。在這次課程設(shè)計(jì)中,使得我很好的了解了在開(kāi)發(fā)程序中合
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 滬教版高中語(yǔ)文第四冊(cè)諫太宗十思疏 同步練習(xí)根據(jù)課文內(nèi)容默寫(xiě)填空
- 高中語(yǔ)文第四冊(cè)哈姆萊特 同步練習(xí) 語(yǔ)言積累
- 內(nèi)墻面維修合同范例
- 勞務(wù)公司自己招工合同范例
- 代理注銷合同范例 英文
- 傳遞娛樂(lè)經(jīng)紀(jì)合同范例
- 勞務(wù)分包加采購(gòu)合同范例
- 個(gè)人發(fā)票供貨合同范例
- 公司多人轉(zhuǎn)讓合同范例
- 加工水稻售賣合同范例
- TSG+23-2021氣瓶安全技術(shù)規(guī)程
- 第十六章 中國(guó)特色大國(guó)外交和推動(dòng)構(gòu)建人類命運(yùn)共同體 (1)附有答案
- 施工企業(yè)鋼筋增量技巧培訓(xùn)考試題
- 2024年北京市朝陽(yáng)區(qū)高三二模生物試題
- 選擇性必修二《Unit 3 Food and Culture》單元教學(xué)設(shè)計(jì)
- 2024年第五屆美麗中國(guó)(中小學(xué)組)全國(guó)國(guó)家版圖知識(shí)競(jìng)賽題庫(kù)及答案
- DB32T3748-2020 35kV及以下客戶端變電所建設(shè)標(biāo)準(zhǔn)
- 第十屆大唐杯考試真題題庫(kù)及答案
- 初中生物知識(shí)競(jìng)賽試題(含答案)
- 江蘇省無(wú)錫市錫東高級(jí)中學(xué)2023-2024學(xué)年高二下學(xué)期3月月考物理試題
- 預(yù)防性維護(hù)的重要性
評(píng)論
0/150
提交評(píng)論