




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.東北大學(xué)信息科學(xué)與工程學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告題目 立體化停車場管理課題組長 張曉峰課題組成員 曹喬家 王子驕專業(yè)名稱 計(jì)算機(jī)科學(xué)與技術(shù)班級 計(jì)1307指導(dǎo)教師 楊雷2015 年 1月:課程設(shè)計(jì)任務(wù)書題目:立體化停車場管理問題描述:設(shè)停車場有地上和地下兩層,統(tǒng)一管理。地下停車場采用單入口和單出口。地上停車場采用南北方向的雙口,每個口都有一個入口和出口。停車順序先地上,后地下。地上入口處各有一個單車道的等候通道,并允許等候的車輛因急事從等候通道直接開走。設(shè)計(jì)要求:設(shè)計(jì)停車場模擬管理程序。(1)采用棧、隊(duì)列和有序表等數(shù)據(jù)結(jié)構(gòu)。(2)等候車輛的管理。(3)地下、地上停車位的管理。(4)停車計(jì)費(fèi)功能
2、。(5)其它完善性功能。指導(dǎo)教師簽字:年月日 目錄1 課題概述11.1 課題任務(wù)11.2 課題原理11.3 相關(guān)知識12 需求分析12.1 課題調(diào)研12.2 用戶需求分析13 方案設(shè)計(jì)23.1 總體功能設(shè)計(jì)23.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)23.3 函數(shù)原型設(shè)計(jì)33.4 主算法設(shè)計(jì)43.5 用戶界面設(shè)計(jì)44 方案實(shí)現(xiàn)44.1 開發(fā)環(huán)境與工具44.2 程序設(shè)計(jì)關(guān)鍵技術(shù)44.3 個人設(shè)計(jì)實(shí)現(xiàn)44.3.1 張曉峰設(shè)計(jì)實(shí)現(xiàn)44.3.2 曹喬家設(shè)計(jì)實(shí)現(xiàn)114.3.3 王子驕設(shè)計(jì)實(shí)現(xiàn)155 測試與調(diào)試195.1 個人測試195.1.1 張曉峰測試19 5.1.2 曹喬家測試205.1.3 王子驕測試215.2 組裝與
3、系統(tǒng)測試215.3 系統(tǒng)運(yùn)行226 課題總結(jié)246.1 課題評價246.2 團(tuán)隊(duì)協(xié)作256.3 團(tuán)隊(duì)協(xié)作256.4 個人設(shè)計(jì)小結(jié)256.4.1張曉峰設(shè)計(jì)小結(jié)25 6.4.2 曹喬家設(shè)計(jì)小結(jié)256.4.3 王子驕設(shè)計(jì)小結(jié)257 附錄A 課題任務(wù)分工26A-1 課題程序設(shè)計(jì)分工26A-2 課題報(bào)告分工27 附錄B 課題設(shè)計(jì)文檔(光盤)28B-1課程設(shè)計(jì)報(bào)告(電子版)28B-2源程序代碼(*.H,*.CPP)28B-3工程與可執(zhí)行文件)28B-4屏幕演示錄像文件(可選)28 附錄C 用戶操作手冊(可選)28C.1 運(yùn)行環(huán)境說明28C.2 操作說明28 1 課題概述1.1 課題任務(wù)【問題描述】設(shè)停車場
4、有地上和地下兩層,統(tǒng)一管理。地下停車場采用單入口和單出口。地上停車場采用南北方向的雙口,每個口都有一個入口和出口。停車順序先地上,后地下。地上入口處各有一個單車道的等候通道,并允許等候的車輛因急事從等待通道直接開走。 【設(shè)計(jì)要求】設(shè)計(jì)停車場模擬管理程序。(1)采用棧、隊(duì)列和有序表等數(shù)據(jù)結(jié)構(gòu)。(2)等候車輛的管理。(3)地下、地上停車位的管理。(4)停車計(jì)費(fèi)功能。(5)其它完善性功能。1.2 課題原理 本程序主要運(yùn)用棧來模擬停車場,建立上下兩個棧來模擬上下停車場,一列表模擬車場便道,按照從終端輸入的數(shù)據(jù)序列進(jìn)行模擬管理,把停車的車位信息保存在新建的鏈表中,每組輸入的數(shù)據(jù)保存車牌號,自動生成車位號
5、和車輛到達(dá)時間保存在鏈表中,對每一組的數(shù)據(jù)輸出信息,包括車輛到達(dá)時間,離開時間,及停車費(fèi)用,用隊(duì)列保存便車道??康能囕v,以及車輛的登記和離開,最后的棧是以順序棧結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列和鏈表以鏈?zhǔn)浇Y(jié)構(gòu)實(shí)現(xiàn)。1.3 相關(guān)知識 本實(shí)驗(yàn)主要運(yùn)用鏈表、棧、隊(duì)列等數(shù)據(jù)結(jié)構(gòu),運(yùn)用C語言中的指針、數(shù)組字符串等相關(guān)知識。 2 需求分析2.1 課題調(diào)研 通過在網(wǎng)上對各個停車場的調(diào)查,我們查到停車場有車輛的入場登記,車輛的離開及費(fèi)用,還有就是車輛的信息保存,每個車輛有車牌號,到達(dá)和離開時間及停車費(fèi)用等等。2.2 用戶需求分析 本程序采用簡單的界面,使使用者可以簡單可了解軟件的使用,界面簡單、大方。鏈表保存的車位信息,只需輸
6、入車牌號,其他車位信息自動由系統(tǒng)生成,可以免去使用的其他操作,為使用者省事,省力。同時本軟件的使用達(dá)到人性化,方便化,便于使用者的使用。 3 方案設(shè)計(jì)3.1 總體功能設(shè)計(jì) 本軟件要實(shí)現(xiàn)對進(jìn)入停車場的車輛登記功能,車輛離開的收費(fèi)功能,以及車輛進(jìn)入便車道的等待及從便車道,還有對車輛信息的查詢和對車場進(jìn)入和離開車輛的統(tǒng)計(jì)。3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)(1)時間的結(jié)構(gòu)體 struct now_timeint mday; int hour; int min; (2)車位信息的結(jié)構(gòu)體struct information int setnumber; char num10; struct now_time reac
7、h; struct now_time leave; setMAX*2(3)便車道隊(duì)列typedef struct char *base; int front; int rear; SqQueue(4)停車場的棧typedef structint *base; int *top; int stacksize;SqStack(5)車位信息的鏈表typedef struct LNodestructint stnumber; char num10; struct now_time reach; struct now_time leave; float fee; int totalhour;data;
8、struct LNode *next;LNode,*LinkList3.3 函數(shù)原型設(shè)計(jì)()void CreateList_L(LinkList &L) 建立車輛信息鏈表()Status initStack1(SqStack &S) 建立地上停車場的棧()Status initStack2(SqStack &S) 建立地下停車場的棧()Status Push(SqStack &S,int e) 車輛入棧即出場()Status Pop(SqStack &S,int &e) 車輛出棧即入場()Status initQueue(SqQueue &
9、;Q) 建立便車道的隊(duì)列()Status QueueLength(SqQueue Q) 計(jì)算便車道的車輛數(shù)量()Status stack_empty(SqStack S) 判斷停車場是否車滿()void enterstop( LinkList clist,SqStack &S,char number10,int *come,int i) 車輛進(jìn)入停車場 ()Status leavestop(LinkList llist,LinkList clist,SqStack &S,SqQueue &Q,int *come,int*leave,int i) 車輛離開停車場()voi
10、d ccord(LinkList clist,int i,int setnumber) 信息登記()Status ListInsert_Link(LinkList &L,int i,int setnumber) 保存車輛到來的信息()void copy(char *a,char *b) 進(jìn)行車位號的比對()Status lListInsert_Link(LinkList &llist,int i,int lset,int totalhour,float fee,int day,int hour,int min) 保存車輛離開的信息()void showcome(LinkList
11、 list) 顯示車輛到來時間()void showleave(LinkList list) 顯示車輛離開時間3.4 主算法設(shè)計(jì) 程序運(yùn)行時,當(dāng)車輛入場時,車輛信息保存在鏈表里,并出棧來表示進(jìn)入一輛車,其車位和時間自動生成,當(dāng)汽車離場時,輸入車位信息,顯示時間,費(fèi)用。并把車輛離開時間等保存在離開的鏈表里,然后通過車位信息的輸入,即出場和離場鏈表表示輸出。3.5 用戶界面設(shè)計(jì) 主界面分別有車輛登記,車輛離場,車場信息,退出系統(tǒng)四個功能,進(jìn)入車輛登記窗口輸入車牌號,自動生成車位信息顯示。車輛離場窗口進(jìn)入輸入車場及 車位信息,即彈出車位信息及停車費(fèi)用。車位信息即顯示地上下停車場進(jìn)出車輛的車輛信息,包
12、括到達(dá)時間、離開時間、車位號、車牌號、停車費(fèi)用等。退出系統(tǒng)即退出本軟件。 4 方案實(shí)現(xiàn)4.1 開發(fā)環(huán)境與工具 本程序在window7下實(shí)現(xiàn)和運(yùn)行,并使用Visual C+6.0編譯的。4.2 程序設(shè)計(jì)關(guān)鍵技術(shù) 本程序主要用棧來保存車位車位的信息,當(dāng)車場為空時,棧此時是滿的,而當(dāng)車場滿時,棧是空的。所以當(dāng)車輛入場時是出棧,而車輛進(jìn)場時時出棧。此外就是車輛信息的保存在鏈表里。因?yàn)槭堑厣舷聝蓚€停車場,故我們采用兩個棧和兩個鏈表來保存其對應(yīng)的信息,我們還采用了系統(tǒng)時間,減少了使用者的輸入。4.3 個人設(shè)計(jì)實(shí)現(xiàn)4.3.1 張曉峰設(shè)計(jì)實(shí)現(xiàn) 設(shè)計(jì)時間車位兩個結(jié)構(gòu)體,以及時間函數(shù)。主函數(shù)的設(shè)計(jì)。保存車輛到達(dá)與
13、離開信息(利用鏈表)(1)時間與車位信息的結(jié)構(gòu)體源程序:struct now_timeint mday; int hour; int min;struct information int setnumber; char num10; struct now_time reach; struct now_time leave; setMAX*2;(2)保存車輛到來信息源程序: 車輛信息,包括車牌號,到達(dá)時間。儲存在鏈表中,后續(xù)查詢車場信息中利用此函數(shù)。Status ListInsert_Link(LinkList &L,int i,int setnumber)LNode *p,*s;int
14、 j; p=L; j=0; while(p&&j<i-1)p=p->next; +j; if(!p|j>i-1)return ERROR; s=(LinkList)malloc(sizeof(LNode); s->data.stnumber=setsetnumber.setnumber; s->data.reach.hour=setsetnumber.reach.hour; s->data.reach.mday=setsetnumber.reach.mday; s->data.reach.min=setsetnumber.reach.m
15、in; copy(s->data.num,setsetnumber.num); s->next=p->next; p->next=s; return OK;(3)保存車輛離開 離開時,記錄離開時間,算出總時間,為后續(xù)計(jì)算費(fèi)用做鋪墊。同樣將信息儲存在鏈表中,在離開停車場函數(shù)中利用該函數(shù)。Status lListInsert_Link(LinkList &llist,int i,int lset,int totalhour,float fee,int day,int hour,int min)LNode *p,*s; int j; p=llist; j=0; whi
16、le(p&&j<i-1)p=p->next; +j;if(!p|j>i-1)return ERROR; s=(LinkList)malloc(sizeof(LNode); s->data.fee=fee; s->data.totalhour=totalhour; s->data.stnumber=lset; s->data.leave.mday=day; s->data.leave.hour=hour; s->data.leave.min=min; copy(s->data.num,setlset.num); s-&g
17、t;next=p->next; p->next=s; return OK; (4)時間函數(shù)源代碼: 采用系統(tǒng)時間,日小時分鐘格式。分為入場時間和出場時間。void showcome(LinkList list)LNode *p; p=list->next; while(p) printf("n %st%d號t%d日%d時%d分",p->data.num,p->data.stnumber,p->data.reach.mday,p->data.reach.hour,p->data.reach.min);p=p->next;
18、void showleave(LinkList list)LNode *p;p=list->next;while(p)printf("n %st%d號t%d日%d時%d分",p->data.num,p->data.stnumber,p->data.leave.mday,p->data.leave.hour,p->data.leave.min);p=p->next;(5)主函數(shù): 本程序的關(guān)鍵所在。對所有函數(shù)進(jìn)行調(diào)用,并實(shí)現(xiàn)界面的顯示。登記,離開,查詢,退出四個部分。主菜單的建立,界面設(shè)計(jì)等。void main()int choice
19、1,choice2,choice3,wait,ture=1; int i; int come1=0;int leave2=0;int come3=0;int leave4=0; int *p1,*p2,*p3,*p4; p1=&come1;p2=&leave2; p3=&come3; p4=&leave4; char number10; SqStack stack_set1; SqStack stack_set2; SqQueue queue_turn; initStack1(stack_set1); initStack2(stack_set2); initQu
20、eue(queue_turn); LinkList llist1,llist2,clist1,clist2; CreateList_L(llist1); CreateList_L(clist1); CreateList_L(llist2); CreateList_L(clist2); for(i=1;i<=MAX+1;i+)seti.setnumber=i; seti.num1='#' system("color 3B"); printf("nnnnnnnnn*歡迎使用停車場管理系統(tǒng),按任意鍵進(jìn)入主菜單*"); do getchar
21、(); system("cls"); printf(" 歡迎使用停車場管理系統(tǒng)nnn");printf(" 主菜單nn"); printf(" *1* 汽車登記n"); printf(" *2* 汽車離場n"); printf(" *3* 車場信息n"); printf(" *0* 退出系統(tǒng)nn");printf("*請按提示輸入:n"); scanf("%d",&choice1); switch(choic
22、e1)case 1:system("cls"); printf(" *汽車登記*nnn");if(!stack_empty(stack_set1)/進(jìn)入停車場 printf("n *請輸入您的車牌號(例:遼A3475):"); scanf("%s",number); enterstop(clist1,stack_set1,number,p1,1);else if(!stack_empty(stack_set2) printf("n *請輸入您的車牌號(例:遼A3475):"); scanf(&q
23、uot;%s",number); enterstop(clist2,stack_set2,number,p3,2); else/進(jìn)入便車道等待 wait=w_total(queue_turn); printf("*您好,當(dāng)前停車場已滿,有%d在等待!*n 您是否愿意進(jìn)入便車道等待:n",wait);printf(" *1*:愿意等待!tt*2*:不愿意等待n"); while(ture=1)scanf("%d",&choice3); getchar(); switch(choice3)case 1:enterlane
24、(queue_turn,wait);/汽車進(jìn)入便車道 printf("*您好,請進(jìn)入便車道等待*!"); ture=0;break; case 2: printf("n*汽車離開!"); ture=0; break; default: printf("n*您好,輸入錯誤,請重新輸入!");ture=1;break;case 2:system("cls");printf("*汽車離場*nnn");printf(" *1* 地上車場n");printf(" *2* 地下
25、車場n"); scanf("%d",&choice2); switch(choice2)case 1:printf(" *地上停車場*n "); leavestop(llist1,clist1,stack_set1,queue_turn,p1,p2,1); break; case 2: printf(" *地下停車場*n "); leavestop(llist2,clist2,stack_set2,queue_turn,p3,p4,2); break; default: printf("*您輸入的有誤,請重
26、新輸入:");break;case 3:/*今天信息的顯示*/system("cls"); printf(" *車場信息*nn");if(come1+come3)=0)printf("*無車輛到達(dá)!n");else printf("*到達(dá)%d輛車:",come1+come3); printf ("n*汽車信息*車牌號*t*車位號*t*到達(dá)時間*t"); printf ("n*地上車場*t"); showcome(clist1); printf ("n*地下
27、車場*t"); showcome(clist2); printf("n");if(leave2+leave4)=0) printf("*無車輛離開!n");elseprintf("*離開%d輛車:",leave2+leave4); printf ("n*汽車信息: *車牌號*t*車位號*t*到達(dá)時間*t"); printf ("n*地上車場:t"); showleave(llist1); printf ("n*地下車場:t"); showleave(llist2);
28、 break;case 0:system("cls");printf(" *退出停車系統(tǒng)!*n"); break;default : printf("*您輸入的有誤,請重新輸入:");getchar();while(choice1!=0);4.3.2 曹喬家設(shè)計(jì)實(shí)現(xiàn) 設(shè)計(jì)進(jìn)入停車場和離開停車場函數(shù),結(jié)合之前棧,鏈表,隊(duì)列以及數(shù)組。(1)進(jìn)入停車場源代碼:void enterstop( LinkList clist,SqStack &S,char number10,int *come,int i) int e; *come=*c
29、ome+1; Pop(S,e); sete.setnumber=e;copy(sete.num,number);struct tm *newtime; char am_pm = "AM" time_t long_time; time( &long_time ); newtime = localtime( &long_time ); sete.reach.hour=newtime->tm_hour;sete.reach.mday=newtime->tm_mday; sete.reach.min=newtime->tm_min; printf(
30、"nn *請核對您的停車信息*n"); printf(" *停車牌號*: %sn",sete.num);if(i=1)printf(" *地上車場*: %dn",sete.setnumber);if(i=2)printf(" *地下車場*: %dn",sete.setnumber); printf(" *到達(dá)時間*: %d:%d:%dn", sete.reach.mday,sete.reach.hour,sete.reach.min); ccord(clist,*come,sete.setnum
31、ber); 利用出棧函數(shù)來表示車輛進(jìn)入停車場,等同于車位出停車場。利用set數(shù)組,存儲進(jìn)入車場的車輛信息。包括進(jìn)入時間,車號等。時間函數(shù)的時候,顯示到達(dá)時間,并按先下后上的順序,選擇上下兩個停車場,并輸出。(2)離開停車場源代碼:Status leavestop(LinkList llist,LinkList clist,SqStack &S,SqQueue &Q,int *come,int*leave,int i)char number10; int t,lset; int j=1; int totalhour; float fee; printf ("*請輸入您的
32、停車位號:");doscanf ("%d",&lset); getchar();for(int i=0;i<=MAX;i+)if(setlset.num1='#')j=0;if(j=0)printf(" *車場并沒有停車*n");return ERROR;elseif(lset>MAX |lset<1)printf("*您輸入有誤,該車號并不存在!*n*請重新輸入您的車位號:n");t=1;elseif(setlset.num1='#')printf("*該
33、車位為空,不能進(jìn)行離開操作!*n*請重新輸入您的車位號:n");t=1;elsestruct tm *newtime;char am_pm = "AM"time_t long_time;time( &long_time ); newtime = localtime( &long_time ); totalhour=(newtime->tm_mday-setlset.reach.mday)*24*60+(newtime->tm_hour-setlset.reach.hour)*60+(newtime->tm_min-setlset.
34、reach.min); fee=price*totalhour; printf(" *以下是您本次停車的信息*n"); printf(" *停車牌號*:%sn",setlset.num); printf(" *停車位號*:%dn",setlset.setnumber); printf(" *到達(dá)時間*:%d:%d:%dn", setlset.reach.mday,setlset.reach.hour,setlset.reach.min); printf(" *離開時間*:%d:%d:%dn",
35、newtime->tm_mday,newtime->tm_hour,newtime->tm_min); printf(" *停車費(fèi)用*:%f",fee); printf("nnnt*謝謝您的光臨,祝您一路平安*!nn"); printf("nnnntttmention:press any key continue!"); getchar(); system("cls"); *leave=*leave+1; lListInsert_Link(llist,*leave,lset,totalhour,f
36、ee,newtime->tm_mday,newtime->tm_hour,newtime->tm_min); setlset.num1='#'Push(S,lset);if(!EmptyQueue(Q)DeQueue(Q); printf("n *請停在停車便道的客戶進(jìn)入停車場!*n");if(i=1)/判斷車場printf("n*輸入您的車牌號(例:遼A3475):");scanf("%s",number); enterstop(clist,S,number,come,1); t=0;if(i=2)
37、 printf("n*輸入您的車牌號(例:遼A3475):"); scanf("%s",number); enterstop(clist,S,number,come,2); t=0;elset=0;while(t=1);return OK; 離開停車場,包括計(jì)費(fèi)的顯示,信息存儲在鏈表中。其中包含出場費(fèi)用的計(jì)算,按分鐘計(jì)時。實(shí)現(xiàn)輸入車位號即顯示車輛信息(車號,進(jìn)場時間)離開時,顯示所需費(fèi)用。最后利用一個便車道的判空,判斷是否有車輛等待入場,如果有,則停在剛剛空出的車位上。若沒有,返回0;4.3.3 王子驕設(shè)計(jì)實(shí)現(xiàn) 停車場棧的建立,便車道的建立,保存車位信息
38、,地上地下兩個車場,判斷車場是否已滿,便車道上的車輛數(shù)目函數(shù)。(1)便車道的建立源代碼:便車道用一隊(duì)列表示。typedef struct char *base; int front; int rear; SqQueue;(2)代表停車場的棧建立源代碼:typedef structint *base; int *top; int stacksize;SqStack;(3)保存車位信息: 在進(jìn)入停車場時,要把車輛信息保存在鏈表中,調(diào)用此函數(shù)可以實(shí)現(xiàn)該功能。信息包括車牌號以及入場時間。typedef struct LNodestructint stnumber; char num10; struct
39、 now_time reach; struct now_time leave; float fee; int totalhour;data; struct LNode *next;LNode,*LinkList;void copy(char *a,char *b)int i;for(i=0;(ai=bi)!='0'i+); void CreateList_L(LinkList &L)L=(LinkList) malloc (sizeof(LNode); L->next=NULL;void ccord(LinkList clist,int i,int setnumb
40、er) ListInsert_Link(clist,i,setnumber);(4)建立地上地下兩個停車場: 題目要求兩個停車場,建立方法相同,最大車位號相等。Status initStack1(SqStack &S) int i;S.base=(int * )malloc(MAX * sizeof(int);if(!S.base)exit(OVERFLOW);S.top=S.base;S.stacksize=MAX;for(i=1;i<=MAX;i+)*S.top+=i; return OK;Status initStack2(SqStack &S) int i;S.b
41、ase=(int * )malloc(MAX * sizeof(int);if(!S.base)exit(OVERFLOW);S.top=S.base;S.stacksize=MAX;for(i=1;i<=MAX;i+)*S.top+=i;return OK;(5)便車道的建立與判斷是否已滿: 便車道在后續(xù)的離開停車場時調(diào)用。如車道上有車等待,當(dāng)車場中有車離開時,進(jìn)行一次車道判空。若非空,則進(jìn)入車場并停在對應(yīng)的車位。Status initQueue(SqQueue &Q)Q.base=(char*)malloc(100*sizeof(char10); if(!Q.base)exi
42、t(OVERFLOW);Q.front=Q.rear=0; return OK;Status stack_empty(SqStack S)if(S.top=S.base)return OK; else return ERROR;(6)棧的相關(guān)函數(shù): 由于本程序設(shè)計(jì)的車場,是以滿棧的形式。即車位號已經(jīng)將車場占滿。車輛入棧,相當(dāng)于車位號出戰(zhàn)。以實(shí)現(xiàn)在車輛進(jìn)入時,輸出車位號信息。所以入棧為有車離開車場,出棧為有車進(jìn)入車場。Status Push(SqStack &S,int e)if(S.top-S.base>=S.stacksize)if(!S.base)exit(OVERFLOW)
43、;S.top=S.base+S.stacksize;*S.top+=e;return OK;Status Pop(SqStack &S,int &e)if(S.top=S.base)return ERROR;e=*-S.top;return OK;(7)計(jì)算便車道車輛數(shù)目: 計(jì)算隊(duì)列長度,即車輛數(shù)目。Status QueueLength(SqQueue Q) return (Q.rear-Q.front+MAXQSIZE)%MAXQSIZE;Status w_total(SqQueue Q) return QueueLength(Q);(8)隊(duì)列判空:Status EnQueu
44、e(SqQueue &Q,int e)if(Q.rear+1)%MAXQSIZE=Q.front)return ERROR; Q.baseQ.rear=e; Q.rear=(Q.rear+1)%MAXQSIZE; return OK;(9)進(jìn)入車道等待:Status enterlane(SqQueue &Q,int waitenumber)EnQueue(Q,waitenumber); return OK; 設(shè)計(jì)的函數(shù),均被后續(xù)進(jìn)出停車場所使用,實(shí)現(xiàn)對應(yīng)功能。 5 測試與調(diào)試5.1 個人測試5.1.1 張曉峰測試5.1.2 曹喬家測試5.1.3 王子驕測試5.2 組裝與系統(tǒng)測試
45、把各個函數(shù)通過主函數(shù)的調(diào)用來實(shí)現(xiàn)停車場的各個功能的實(shí)現(xiàn),當(dāng)進(jìn)入主函數(shù),再調(diào)用各個副函數(shù)來實(shí)現(xiàn)功能的實(shí)現(xiàn)。操作名稱操作流程操作結(jié)果和輸出登錄系統(tǒng)打開登錄頁面,按任意鍵進(jìn)入主菜單從登錄系統(tǒng)到進(jìn)入主菜單,花費(fèi)1秒時間。基本滿足了系統(tǒng)顯示要求。車輛登記輸入車牌號確定即自動生成車位信息用列表的方式顯示出了符合條件的記錄。從服務(wù)器端返回信息,花費(fèi)50毫秒-100毫秒,滿足要求。汽車離場進(jìn)入窗口,輸入車場及車位信息自動生成車輛的到達(dá)離開時間及停車費(fèi)用。退出系統(tǒng)點(diǎn)擊退出本軟件執(zhí)行結(jié)束,退出系統(tǒng)。5.3 系統(tǒng)運(yùn)行(1).進(jìn)入系統(tǒng)(2).進(jìn)入主菜單(3.).進(jìn)入汽車登記(4).進(jìn)入汽車離場系統(tǒng)(5).進(jìn)入車位信息
46、 6 課題總結(jié)6.1 課題評價(1)系統(tǒng)功能總結(jié):登記功能:車輛進(jìn)入停車場時,對車輛的信息進(jìn)行登記,包括車牌號,進(jìn)入停車場的時間,將信息儲存在鏈表中;收費(fèi)功能:再離開停車場時,系統(tǒng)將利用時間函數(shù)計(jì)算出車輛在停車場中的時長,并計(jì)算出所需費(fèi)用,顯示在離開信息中;查詢功能:可查詢停車場全天的信息,包括場內(nèi)現(xiàn)有車輛以及離開車輛的信息,包含所有的登記信息以及離開時間費(fèi)用信息;(2)程序運(yùn)行評價: 本程序說明清晰易懂,使用時按照說明操作即可。用棧表示車場,隊(duì)列存儲車輛。事項(xiàng)車輛與車號的一一對應(yīng)。但對于界面方面,不夠美觀,程序也不夠?qū)嵱?。由于本程序只做了管理方面的?shí)現(xiàn),所以在采集數(shù)據(jù)方面還需要手動輸入。由于
47、開發(fā)能力和時間所限,本程序目前還需要在一定程度上進(jìn)行改進(jìn)和完善,根據(jù)以后運(yùn)行問題以及學(xué)習(xí)的新知識,我們可以在功能方面進(jìn)一步加強(qiáng)。6.2 團(tuán)隊(duì)協(xié)作 在此次數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)中。我們學(xué)會了在編程過程中要學(xué)會各個成員的合作,以及各個函數(shù)的組合調(diào)用,在編程中我們要積極向老師請教,各個成員之間的團(tuán)隊(duì)合作,積極配合,才能更好地完成一個完整的、成功的程序。6.3 下一步工作 通過這次編程實(shí)驗(yàn),我們意識到了我們的知識還遠(yuǎn)遠(yuǎn)不過,我們還要繼續(xù)學(xué)習(xí)我們尚未了解的知識,并且把我們現(xiàn)有的知識要學(xué)會靈活運(yùn)用,熟練的掌握我們現(xiàn)在的知識,并為以后的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。我們還要繼續(xù)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的其他知識,為將來的編程打下基礎(chǔ)。6.4 個人設(shè)計(jì)小結(jié)6.4.1 張曉峰設(shè)計(jì)小結(jié) 經(jīng)過這些天的編程上機(jī)實(shí)驗(yàn),使我們更加深入的了解數(shù)據(jù)結(jié)構(gòu)這門課程,數(shù)據(jù)結(jié)構(gòu)不僅僅要求我們具有熟練的知識,還要我們有豐富的實(shí)際實(shí)驗(yàn)的經(jīng)驗(yàn),使我們能更加地熟練運(yùn)用數(shù)據(jù)結(jié)構(gòu)這門課來解決我們面對的問題,對我們將來做更大的程序有非常大的幫助。還懂得了團(tuán)隊(duì)合作的重要性。6.4.2 曹喬家設(shè)計(jì)小結(jié) 這次課程設(shè)計(jì)使我對配合的能力有了更
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國能建集團(tuán)陜西院招聘真題2024
- 2025至2030年中國高頻印制板市場分析及競爭策略研究報(bào)告
- 2025至2030年中國鋼質(zhì)環(huán)數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國蘑菇茶市場調(diào)查研究報(bào)告
- 2025至2030年中國無紡布自粘膠帶行業(yè)投資前景及策略咨詢報(bào)告
- 2025━2030年中國手機(jī)套儀器套批發(fā)項(xiàng)目投資可行性研究報(bào)告
- 2025-2035年全球及中國淀粉粘土行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展前景研究報(bào)告
- 2025-2035年全球及中國扁袋行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展前景研究報(bào)告
- 人教A版高中數(shù)學(xué)選擇性必修三-7.5正態(tài)分布-導(dǎo)學(xué)案【含答案】
- 2025年腳踏自行車及其零件合作協(xié)議書
- 2025年中國羊毛絨線市場調(diào)查研究報(bào)告
- 肥料登記申請書
- 礦產(chǎn)勘探數(shù)據(jù)分析-深度研究
- 人教版高中英語挖掘文本深度學(xué)習(xí)-選修二-UNIT-4(解析版)
- 2025年北京控股集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2024年07月江蘇銀行招考筆試歷年參考題庫附帶答案詳解
- 2025中智集團(tuán)招聘重要崗位高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年人事科年度工作計(jì)劃
- 2023-2024學(xué)年高中信息技術(shù)必修一滬科版(2019)第二單元項(xiàng)目三《 調(diào)查中學(xué)生移動學(xué)習(xí)現(xiàn)狀-經(jīng)歷數(shù)據(jù)處理的一般過程》說課稿
- 院感知識手衛(wèi)生培訓(xùn)內(nèi)容
- 產(chǎn)教融合咨詢協(xié)議書
評論
0/150
提交評論