綜合設(shè)計(jì)報(bào)告87319_第1頁(yè)
綜合設(shè)計(jì)報(bào)告87319_第2頁(yè)
綜合設(shè)計(jì)報(bào)告87319_第3頁(yè)
綜合設(shè)計(jì)報(bào)告87319_第4頁(yè)
綜合設(shè)計(jì)報(bào)告87319_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

昆明理工大學(xué)《程序設(shè)計(jì)基礎(chǔ)》課程綜合設(shè)計(jì)實(shí)踐教學(xué)課題報(bào)告課程名稱(chēng):C語(yǔ)言課題名稱(chēng):停車(chē)場(chǎng)停車(chē)及其收費(fèi)問(wèn)題組長(zhǎng): 學(xué)號(hào)201110104132 姓名吳迪組員: 學(xué)號(hào)201110104136 姓名尚登濤學(xué)號(hào)201110104140 姓名田超 學(xué)院:國(guó)土資源工程學(xué)院專(zhuān)業(yè)班級(jí):采礦111指導(dǎo)教師:耿值林昆明理工大學(xué)計(jì)算中心2012年5月

昆明理工大學(xué)計(jì)算中心《程序設(shè)計(jì)基礎(chǔ)》課程綜合設(shè)計(jì)實(shí)踐教學(xué)課題考核表課題名稱(chēng):學(xué)院:專(zhuān)業(yè)班級(jí)學(xué)號(hào)姓名小組編號(hào)題號(hào)承擔(dān)及完成的內(nèi)容成績(jī)備注小組自評(píng)教師評(píng)定201110104132吳迪選題,程序總設(shè)計(jì)95201110104140田超實(shí)驗(yàn)報(bào)告的填寫(xiě)93201110104136尚登濤程序調(diào)適修改93設(shè)計(jì)說(shuō)明與功能描述(基本思路及關(guān)鍵語(yǔ)句說(shuō)明)隨著社會(huì)的發(fā)展,交通的問(wèn)題變得日益嚴(yán)重,尤其是在各大停車(chē)場(chǎng)的管理問(wèn)題上,針對(duì)這一現(xiàn)狀,本小組選擇了比較切實(shí)現(xiàn)實(shí)生活的停車(chē)場(chǎng)管理問(wèn)題.程序設(shè)計(jì)的問(wèn)題包括停車(chē)場(chǎng)的停車(chē),占道,開(kāi)走等問(wèn)題的研討!它是從鍵盤(pán)上輸入一系列關(guān)于車(chē)輛的信息(如,牌照,),進(jìn)入停車(chē)場(chǎng)的時(shí)間,停在那個(gè)停車(chē)位上或者停在走廊上以及車(chē)輛的駛離停車(chē)場(chǎng)的時(shí)間等一系列信息。并將其在顯示屏上顯示出來(lái)。從按照系統(tǒng)提示輸入各個(gè)數(shù)據(jù),此系統(tǒng)分為停車(chē),離開(kāi),獲取當(dāng)前停車(chē)信息。采用主函數(shù)<stdio.h>控制,其他如<iostream>,<malloc.h>,<string>等函數(shù)進(jìn)行輔助控制。對(duì)于各個(gè)函數(shù)計(jì)算法的具體應(yīng)用參照算法程序代碼。定義一個(gè)結(jié)構(gòu)體,包括車(chē)輛的牌照信息,駛?cè)霑r(shí)間,停車(chē)位置,駛離時(shí)間等信息.如下所示:typedefstruct{ inta; stringb; intc; intd;}Car;組長(zhǎng)簽名:吳迪2012年6月3日教師評(píng)語(yǔ)教師簽名:201年月日第一部分:系統(tǒng)概述:一:程序功能隨著社會(huì)的發(fā)展,交通的問(wèn)題變得日益嚴(yán)重,尤其是在各大停車(chē)場(chǎng)的管理問(wèn)題上,針對(duì)這一現(xiàn)狀,本小組選擇了比較切實(shí)現(xiàn)實(shí)生活的停車(chē)場(chǎng)管理問(wèn)題.程序設(shè)計(jì)的問(wèn)題包括停車(chē)場(chǎng)的停車(chē),占道,開(kāi)走等問(wèn)題的研討!它是從鍵盤(pán)上輸入一系列關(guān)于車(chē)輛的信息(如,牌照,),進(jìn)入停車(chē)場(chǎng)的時(shí)間,停在那個(gè)停車(chē)位上或者停在走廊上以及車(chē)輛的駛離停車(chē)場(chǎng)的時(shí)間等一系列信息。并將其在顯示屏上顯示出來(lái)。二:程序算法從按照系統(tǒng)提示輸入各個(gè)數(shù)據(jù),此系統(tǒng)分為停車(chē),離開(kāi),獲取當(dāng)前停車(chē)信息。采用主函數(shù)<stdio.h>控制,其他如<iostream>,<malloc.h>,<string>等函數(shù)進(jìn)行輔助控制。對(duì)于各個(gè)函數(shù)計(jì)算法的具體應(yīng)用參照算法程序代碼。第二部分?jǐn)?shù)據(jù)結(jié)構(gòu)體設(shè)計(jì)三:定義結(jié)構(gòu)體定義一個(gè)結(jié)構(gòu)體,包括車(chē)輛的牌照信息,駛?cè)霑r(shí)間,停車(chē)位置,駛離時(shí)間等信息.如下所示:typedefstruct{ inta; stringb; intc; intd;}Car;四:算法要求

(1)要求以順序棧模擬停車(chē)場(chǎng),以鏈隊(duì)列模擬便道。

(2)從終端讀入汽車(chē)到達(dá)或離去的數(shù)據(jù),每組數(shù)據(jù)包括三項(xiàng):①是“到達(dá)”還是“離去”;②汽車(chē)牌照號(hào)碼;③“到達(dá)”或“離去”的時(shí)刻。與每組輸入信息相應(yīng)的輸出信息為:如果是到達(dá)的車(chē)輛,則輸出其在停車(chē)場(chǎng)中或便道上的位置;如果是離去的車(chē)輛,則輸出其在停車(chē)場(chǎng)中停留的時(shí)間和應(yīng)交的費(fèi)五:函數(shù)定義定義了對(duì)個(gè)函數(shù),以便于可以處理各種情況,并增強(qiáng)程序的健壯性,一邊可以抵御可以遇到的非法輸入。主流程示意圖主函數(shù)入口↓用戶(hù)可視化操作↓輸入信息↓停車(chē)查詢(xún)駛離↓輸出信息(時(shí)間,費(fèi)用)六:程序的操作性測(cè)試主界面:駛?cè)胲?chē)輛(1)駛?cè)胲?chē)輛(2)駛?cè)胲?chē)輛(3)由于此系統(tǒng)設(shè)計(jì)為了便于進(jìn)行程序操作實(shí)驗(yàn),所以,此停車(chē)場(chǎng)只有兩個(gè)車(chē)位,進(jìn)入的第三輛車(chē)只能停靠在便道上。駛離操作。此程序可以進(jìn)行持續(xù)操作,所以退出系統(tǒng)只需關(guān)閉操作窗口。第四部分:總結(jié)和體會(huì)5、總結(jié)和體會(huì)重點(diǎn)寫(xiě)明本次設(shè)計(jì)以及該課程學(xué)習(xí)、應(yīng)用過(guò)程中的收獲和體會(huì)組長(zhǎng):通過(guò)本次的綜合作業(yè)的程序設(shè)計(jì),我們小組大家一起努力,反復(fù)調(diào)試,經(jīng)過(guò)不斷地改正錯(cuò)誤的程序,終于調(diào)試出來(lái)了,心中充滿了成就感,讓我首次體會(huì)到了團(tuán)隊(duì)協(xié)作的力量,C語(yǔ)言這門(mén)課程起初真的很難學(xué)進(jìn)去,看著一個(gè)個(gè)的字母,一個(gè)個(gè)的程序語(yǔ)言,感到頭皮發(fā)麻,可是后來(lái)學(xué)進(jìn)去了,其實(shí)還是挺有趣的,看著程序成功的運(yùn)行,心中的喜悅感是別人無(wú)法體會(huì)的。通過(guò)這門(mén)課程我也收獲到了很多,從開(kāi)始看著天書(shū)一般的課本,到現(xiàn)在可以編出簡(jiǎn)單的程序了,我覺(jué)得這就是我的收獲,這就是我這個(gè)學(xué)期學(xué)到的知識(shí),這就是成功,這就是我不斷努力地結(jié)果,一分耕耘一分收獲,我相信只要努力,無(wú)論再難的事,我們也能成功。世上無(wú)難事只怕有心人!組員:我們?cè)诮M長(zhǎng)的帶領(lǐng)下,在課余時(shí)間,三次一起來(lái)到計(jì)算中心,一起研究這份綜合程序設(shè)計(jì),開(kāi)始有點(diǎn)丈二的和尚摸不到頭腦,不知從何下手,后來(lái)我們選擇了這個(gè)題目之后就朝著這個(gè)方向不斷調(diào)試,終于功夫不負(fù)有心人,我們調(diào)試出來(lái)了。我們都十分高興,畢竟是我們自己設(shè)計(jì)出來(lái)的,很有成就感。這門(mén)課程剛開(kāi)始學(xué)覺(jué)得很枯燥,密密麻麻的字符看著就頭痛,可是后來(lái)靜下心來(lái)學(xué)習(xí),感覺(jué)越不算太難,可以學(xué)懂。總之,這也算是一門(mén)比較有意思的課程吧,我們每個(gè)人都可以學(xué)好的。五:程序代碼#include<stdio.h>#include<string>#include<iostream>#include<malloc.h>usingnamespacestd;typedefstruct{ inta; stringb; intc; intd;}Car;typedefstruct{ Carelem[2]; inttop;}SeqStack;typedefstructNode{ Card; intn; structNode*next;}LQNode;typedefstruct{ LQNode*front; LQNode*rear;}LinkQueue;//------------------------------------------voidinitstack(SeqStack*S){ S->top=-1;}intpush(SeqStack*S,Carx){ if(S->top==1)return(0); S->top++; S->elem[S->top]=x; return(1);}intpop(SeqStack*S,Car*x){ if(S->top==-1)return(0); else { *x=S->elem[S->top]; S->top--; return(1); }}//------------------------------------------intinitQueue(LinkQueue*Q){ Q->front=(LQNode*)malloc(sizeof(LQNode)); if(Q->front!=NULL) { Q->rear=Q->front; Q->front->next=NULL; Q->rear->n=0; return(1); } elsereturn(0);}intenterQueue(LinkQueue*Q,CarX){ LQNode*NewNode=newLQNode; //NewNode=(LQNode*)malloc(sizeof(LQNode));//不知道為什么,用malloc會(huì)出錯(cuò)。 if(NewNode!=NULL) { NewNode->d=X; NewNode->next=NULL; Q->rear->next=NewNode; Q->rear->next->n=Q->rear->n+1;//用當(dāng)前的Q->rear->n來(lái)存放編導(dǎo)車(chē)輛數(shù)目信息。 Q->rear=NewNode; return(1); } elsereturn(0);}intdeletQueue(LinkQueue*Q,Car*X){ LQNode*p; if(Q->front==Q->rear) { return(0); } p=Q->front->next; Q->front->next=p->next; Q->rear->n--; if(Q->rear==p) { Q->rear=Q->front; Q->rear->n=0; } *X=p->d; deletep; return(1);}intin(SeqStack*S,LinkQueue*Q,CarX){ if(S->top<1) { push(S,X); cout<<"車(chē)輛"<<X.b<<"已經(jīng)存在停車(chē)場(chǎng)"<<S->top<<"號(hào)車(chē)位,存車(chē)時(shí)間為"<<X.c<<":"<<X.d<<"。\n"; } else { enterQueue(Q,X); cout<<"車(chē)輛"<<X.b<<"已經(jīng)存在便道"<<Q->rear->n<<"號(hào)車(chē)位,存車(chē)時(shí)間為"<<X.c<<":"<<X.d<<"\n"; } return(1);}intout(SeqStack*S,SeqStack*L,LinkQueue*Q,CarA){ CarX; floatmoney; if(S->top==-1) { cout<<"車(chē)場(chǎng)已空,沒(méi)有您的車(chē)。\n"; return(0); } else { pop(S,&X); if(X.b!=A.b&&S->top==-1)push(L,X); while(X.b!=A.b&&S->top!=-1) { pop(S,&X); push(L,X); } } if(X.b==A.b) { if(A.c<X.c)cout<<"時(shí)間輸入錯(cuò)誤\n"; elsemoney=(A.c-X.c)*6+(A.d-X.d)*0.1; cout<<"車(chē)輛"<<A.b<<"存車(chē)時(shí)間為"<<X.c<<":"<<X.d<<",離開(kāi)時(shí)間為"<<A.c<<":"<<A.d<<","; cout<<"停車(chē)費(fèi)用為"<<money<<"元,祝您一路順風(fēng)!\n"; while(L->top!=-1) { pop(L,&X); push(S,X); } if(Q->rear->n!=0) { deletQueue(Q,&X); X.c=A.c;X.d=A.d;//將離開(kāi)車(chē)輛的時(shí)間賦給從便道進(jìn)入車(chē)場(chǎng)車(chē)輛的時(shí)間。 if(push(S,X)==1) {cout<<"車(chē)輛"<<X.b<<"已由便道開(kāi)進(jìn)車(chē)場(chǎng)"<<S->top<<"號(hào)車(chē)位,"; cout<<"存車(chē)時(shí)間從"<<X.c<<":"<<X.d<<""<<"算起。\n";} } return(1); } else { intl=Q->rear->n;//便道出車(chē)會(huì)打亂車(chē)次,將存有編導(dǎo)車(chē)輛數(shù)目信息的Q->rear->n備份。 LinkQueueE;//定義臨時(shí)便道幫助遍歷便道上車(chē)輛。 initQueue(&E); while(deletQueue(Q,&X)!=0&&X.b!=A.b) {enterQueue(&E,X);} if(X.b!=A.b) printf("輸入錯(cuò)誤,沒(méi)有您的車(chē)。\n\n"); if(X.b==A.b) { l--;//有車(chē)離開(kāi),則l=l-1。 cout<<"車(chē)輛"<<X.b<<"已從便道離開(kāi),停車(chē)費(fèi)用為0元。\n"; } while(deletQueue(&E,&X)!=0) { enterQueue(Q,X); } Q->rear->n=l;//將l的值及便道車(chē)輛數(shù)目信息付給新的Q->rear->n。 }}intmain(){ cout<<"************************歡迎來(lái)到停車(chē)場(chǎng)***************************\n"; cout<<"停車(chē)費(fèi)用每小時(shí)6元\n\n"; CarA; SeqStackS,L; initstack(&S); initstack(&L); LinkQueueQ; initQueue(&Q); while(1) { cout<<"輸入1停車(chē),輸入0離開(kāi),輸入-1可獲取當(dāng)前停車(chē)信息:"; cin>>A.a; if(A.a!=1&&A.a!=0&&A.a!=-1) { cout<<"輸入錯(cuò)誤,請(qǐng)重新輸入。\n"; continue; } if(A.a!=-1) { cout<<"請(qǐng)輸入車(chē)牌號(hào):";cin>>A.b

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論