數(shù)據(jù)結(jié)構(gòu)電梯模擬_第1頁
數(shù)據(jù)結(jié)構(gòu)電梯模擬_第2頁
數(shù)據(jù)結(jié)構(gòu)電梯模擬_第3頁
數(shù)據(jù)結(jié)構(gòu)電梯模擬_第4頁
數(shù)據(jù)結(jié)構(gòu)電梯模擬_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)結(jié)構(gòu)電梯模擬資料范本資料范本本資料為word版本,可以直接編輯和打印,感謝您的下載數(shù)據(jù)結(jié)構(gòu)電梯模擬地點(diǎn):__________________時(shí)間:__________________數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第1頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第1頁。數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)報(bào)告姓名:陳東學(xué)號(hào):070612146目錄

一、【實(shí)驗(yàn)?zāi)康摹?/p>

3

二、【問題描述】

3

三、【基本要求】

3

四、【實(shí)驗(yàn)環(huán)境】

3

五、【測(cè)試數(shù)據(jù)及其結(jié)果】

3

六、【實(shí)驗(yàn)源代碼】

5

一、【實(shí)驗(yàn)?zāi)康摹繑?shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第2頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第2頁。二、【問題描述】設(shè)計(jì)一個(gè)電梯模擬系統(tǒng)。這是一個(gè)離散的模擬程序,因?yàn)殡娞菹到y(tǒng)是乘客和電梯等“活動(dòng)體”夠成的集合,雖然他們彼此交互作用,但是他們的行為是基本獨(dú)立的。在離散的模擬中,一模擬時(shí)鐘決定每個(gè)活動(dòng)體的動(dòng)作發(fā)生的時(shí)刻和順序,系統(tǒng)在某個(gè)模擬瞬間處理有待完成的各種事情,然后把模擬時(shí)鐘推進(jìn)到某個(gè)動(dòng)作預(yù)定要發(fā)生的下一個(gè)時(shí)刻。三、【基本要求】(1)、模擬某校五層教學(xué)樓的電梯系統(tǒng)。該樓有一個(gè)自動(dòng)電梯,能在每層停留。五個(gè)樓層由下至上依次稱為地下層、第一層、第二層、第三層和第四層,其中第一層是大樓的進(jìn)出層,即是電梯的“本壘層”,電梯“空閑”時(shí),將來該層候命。五個(gè)樓層從下到上的編號(hào)為:0、1、2、3、4。除了地下層外,每一層都有一個(gè)要求向下的按鈕除了第四層外,每一層都有一個(gè)要求向上的按鈕。對(duì)應(yīng)的變量為:CallUp[0..3]和CallDown[1..4]。電梯內(nèi)的五個(gè)目標(biāo)層按鈕對(duì)應(yīng)的變量為:CallCar[0..4]。(2)、電梯一共有七個(gè)狀態(tài),即正在開門(Opening)、已開門(Opened)、正在關(guān)門(Closing)、已關(guān)門(Closed)、等待(Waiting)、移動(dòng)(Moving)、減速(Decelerate)。(3)、

乘客可隨機(jī)地進(jìn)出于任何層。對(duì)每個(gè)人來說,他有一個(gè)能容忍的最長等待時(shí)間,一旦等候電梯時(shí)間過長,他將放棄。對(duì)于在樓層內(nèi)等待電梯的乘客,將插入在等候隊(duì)列里,每一層有兩個(gè)等候隊(duì)列,一隊(duì)要求向上,一隊(duì)要求向下,用鏈隊(duì)列來實(shí)現(xiàn)。對(duì)于在電梯內(nèi)的乘客,用五個(gè)乘客棧來實(shí)現(xiàn),該乘客要去哪一層,就把他放在相應(yīng)編號(hào)的棧中,對(duì)應(yīng)變量為EleStack[0…4]。(4)、模擬時(shí)鐘從0開始,時(shí)間單位為0.1秒。人和電梯的各種動(dòng)作均要耗費(fèi)一定的時(shí)間單位(簡記為t):有人進(jìn)出時(shí),電梯每隔40t測(cè)試一次,若無人進(jìn)出,則關(guān)門關(guān)門和開門各需要20t每個(gè)人進(jìn)出電梯均需要25t數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第3頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第3頁。如果電梯在某層靜止時(shí)間超過300t,則駛回1層候命。(5)、按時(shí)序顯示系統(tǒng)狀態(tài)的變化過程:發(fā)生的全部人和電梯的動(dòng)作序列。四、【實(shí)驗(yàn)環(huán)境】Windows7,VC++6.0五、【測(cè)試數(shù)據(jù)及其結(jié)果】乘客類型反映乘客的所有屬性。ADTClient數(shù)據(jù)對(duì)象:D={ai∈乘客信息,I=1,2,…,n,n≥0}數(shù)據(jù)關(guān)系:R={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}基本操作:PrintClientInfo(Clientconst&e,ClientStatus)操作結(jié)果:輸出乘客信息。CreatClient(Client*&p)操作結(jié)果:生成新的乘客。DestoryClient(Client*&p)操作結(jié)果:該乘客離開系統(tǒng)。GoAbove(Clientconst&e)操作結(jié)果:判斷該乘客是否去往高層。CInfloor(Clientconst&e)操作結(jié)果:返回乘客進(jìn)入的樓層。CInTime(Clientconst&e)操作結(jié)果:返回乘客進(jìn)入時(shí)間。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第4頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第4頁。操作結(jié)果:返回乘客進(jìn)入時(shí)間。}乘客棧類型電梯內(nèi)的乘客用乘客棧表示,去不同樓層的乘客放在不同的棧中。ADTEstack數(shù)據(jù)對(duì)象:D={ai∈乘客信息,I=1,2,…,n,n≥0}數(shù)據(jù)關(guān)系:R={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}基本操作:略。}等候隊(duì)列類型在電梯外等待的乘客用等待隊(duì)列表示。每層各有兩個(gè)等待隊(duì)列,分別為上樓隊(duì)列和下樓隊(duì)列。與一般隊(duì)列不同的是在基本操作中加入了放棄操作CGiveUp(WQueue&Q,intfloor)。電梯類型表示電梯的各個(gè)屬性和所有動(dòng)作。ADTElevator數(shù)據(jù)對(duì)象:D={ai∈電梯信息,I=1,2,…,n,n≥0}基本操作:InitEle(Elevator&E)操作結(jié)果:初始化電梯類型。DestoryEle(Elevator&E)操作結(jié)果:銷毀電梯類型。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第5頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第5頁。操作結(jié)果:電梯動(dòng)作決策。ElevatorRun(Elevator&E,WQueuew[Maxfloor+1][2]){操作結(jié)果:電梯狀態(tài)轉(zhuǎn)換。CountOver(Elevator&E)操作結(jié)果:判斷電梯計(jì)時(shí)是否完成。EleFloor(Elevatorconst&E)操作結(jié)果:返回電梯所在的層。EleStatus(Elevatorconst&E)操作結(jié)果:返回電梯狀態(tài)。RequireAbove(Elevatorconst&E)操作結(jié)果:判斷是否有高層請(qǐng)求。RequireBelow(Elevatorconst&E)操作結(jié)果:判斷是否有低層請(qǐng)求。EleAchieved(Elevator&E)操作結(jié)果:判斷電梯是否要停于當(dāng)前層。EleOpenDoor(Elevator&E)操作結(jié)果:判斷電梯是否要開門。}高樓模塊實(shí)現(xiàn)電梯和乘客之間的互交功能。包括:InOut(Elevator&E,WQueuew[Maxfloor+1][2])操作結(jié)果:進(jìn)行乘客的進(jìn)出電梯活動(dòng)。NewClient(Elevator&E,WQueuew[5][2])操作結(jié)果:進(jìn)入新乘客。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第6頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第6頁。操作結(jié)果:輸出當(dāng)前狀態(tài)。Print(Elevator&E,Actiona)操作結(jié)果:輸出電梯動(dòng)作信息。六、【實(shí)驗(yàn)源代碼】#include<stdlib.h>#include<iostream.h>#include<iomanip.h>#include<stdio.h>#include<windows.h>#include<conio.h>#include<time.h>//所有常量,全局變量和類型定義#defineNULL 0#defineTRUE 1#define FALSE 0#defineOK 1#defineERROR 0#defineINFEASIBLE -1#defineOVERFLOW -2#defineINT_MAX 32767typedefintStatus; //Status是函數(shù)類型,其值是函數(shù)結(jié)果狀態(tài)代碼#defineEmpty 0數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第7頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第7頁。enum EleStatus{Opening,Opened,Closing,Closed,Moving,Decelerate,Waiting};enum Action{DoorOpened,DoorClosed,GoingUp,GoingDown,Achieved,None};enum EleStage{Up,Down,OpenDoor,Stop};enum ClientStatus{New,GiveUp,In,Out,Finish};#define CloseTest 40 //電梯關(guān)門測(cè)試時(shí)間#defineOverTime 300 //電梯停候超時(shí)時(shí)間#defineDoorTime 20 //開門關(guān)門時(shí)間#defineInOutTime 25 //進(jìn)出電梯時(shí)間#defineMaxfloor 4 //最高層#defineMinfloor 0 //最低層longTime=0; //時(shí)鐘longMaxTime; //系統(tǒng)運(yùn)行最長時(shí)間intInOutCount=0; //用于進(jìn)出計(jì)時(shí)intInterTime=0; //下一乘客進(jìn)入系統(tǒng)的時(shí)間intID=0; //乘客編號(hào)intGiveUpNumber=0; //乘客放棄的數(shù)目intTotalTime=0; //總共等待時(shí)間//乘客類型typedefstruct{intClinetID; //乘客編號(hào)intOutfloor; //去哪層數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第8頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第8頁。intGivepuTime; //所能容忍的等待時(shí)間intInfloor;//乘客進(jìn)入的樓層}Client;//乘客類型基本操作voidPrintClientInfo(Clientconst&e,ClientStatuss){switch(s){caseNew: printf("\t%d號(hào)乘客進(jìn)入第%d層.\n",e.ClinetID,e.Infloor);break;caseGiveUp: printf("\t%d號(hào)乘客放棄等待.\n",e.ClinetID);break;caseOut: printf("\t%d號(hào)乘客走出電梯.\n",e.ClinetID);break;caseIn:printf("\t%d號(hào)乘客走進(jìn)電梯,要去第%d層.\n",e.ClinetID,e.Outfloor);break;default:break;};}StatusCreatClient(Client*&p){intd;p=newClient;if(!p)returnOVERFLOW;p->ClinetID=++ID;printf("%d所能容忍的等待時(shí)間:",ID);scanf("%d",&d);數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第9頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第9頁。p->InTime=Time;printf("下一乘客要到達(dá)的時(shí)間:");scanf("%d",&d);InterTime=d;printf("所要到達(dá)的樓層:");scanf("%d",&d);p->Outfloor=d;while((p->Infloor=rand()%(Maxfloor+1))==p->Outfloor);PrintClientInfo(*p,New);returnOK;}StatusDestoryClient(Client*&p){deletep;p=NULL;returnOK;}StatusGoAbove(Clientconst&e){if(e.Outfloor>e.Infloor)returnTRUE;elsereturnFALSE;}StatusCInfloor(Clientconst&e){數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第10頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第10頁。}StatusCInTime(Clientconst&e){returne.InTime;}StatusCOutfloor(Clientconst&e){returne.Outfloor;}#define STACK_INIT_SIZE 100 //存儲(chǔ)空間初始分配量#define STACKINCREMENT 50 //存儲(chǔ)空間分配增量//乘客棧typedef Client *SElemType;typedefstruct{SElemType *base;SElemType *top;int stacksize;}ClientStack;StatusInitStack(ClientStack&S){S.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));if(!S.base)returnOVERFLOW;S.top=S.base;S.stacksize=STACK_INIT_SIZE;數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第11頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第11頁。}StatusDestroyStack(ClientStack&S){SElemType *p;if(S.base){for(p=S.base;p<S.top;p++)DestoryClient(*p);free(S.base);}returnOK;}StatusClearStack(ClientStack&S){if(!S.base)returnERROR;S.top=S.base;returnOK;}StatusStackEmpty(ClientStackS){if(S.top==S.base)returnTRUE;else returnFALSE;}StatusStackLength(ClientStackS)數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第12頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第12頁。returnS.top-S.base;}StatusGetTop(ClientStackS,SElemType&e){if(!S.base)returnERROR;e=*(S.top-1);returnOK;}StatusPush(ClientStack&S,SElemTypee){if(!S.base)returnERROR;if(S.top-S.base>=S.stacksize){S.base=(SElemType*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));if(!S.base)returnOVERFLOW;S.top=S.base+S.stacksize;S.stacksize+=STACKINCREMENT;}*S.top++=e;returnOK;}StatusPop(ClientStack&S,SElemType&e){if(S.top==S.base)returnERROR;數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第13頁。e=*(--數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第13頁。returnOK;}voidPrintStack(ClientStack&S){SElemType*i;i=S.base;while(i<S.top)cout<<(*i++)->ClinetID<<'';}//電梯類型typedefstruct{intfloor; //電梯所在層intClientNumber;//電梯內(nèi)人數(shù)EleStatusstatus; //電梯當(dāng)前狀態(tài)EleStageStage; //電梯運(yùn)行時(shí)期intCount;//用于電梯計(jì)時(shí)intCallUp[Maxfloor+1];//每層的Up按鈕intCallDown[Maxfloor+1];//每層的Down按鈕intCallCar[Maxfloor+1];//電梯內(nèi)的目標(biāo)層按鈕ClientStack S[Maxfloor+1];//乘客棧,要去不同樓層的人放在不同的棧中}Elevator;//電梯類型基本操作voidInitEle(Elevator&E)數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第14頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第14頁。inti;E.floor=1;E.status=Waiting;E.Count=OverTime;E.Stage=Down;E.ClientNumber=0;for(i=0;i<=Maxfloor;i++){E.CallUp[i]=0;E.CallDown[i]=0;E.CallCar[i]=0;}for(i=0;i<=Maxfloor;i++)InitStack(E.S[i]);}StatusCountOver(Elevator&E){if(E.Count){E.Count--;returnFALSE;}returnTRUE;}voidDestoryEle(Elevator&E){inti;for(i=0;i<=Maxfloor;i++)DestroyStack(E.S[i]);}StatusEleFloor(Elevatorconst&E)數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第15頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第15頁。returnE.floor;}EleStatusEleStatus(Elevatorconst&E){returnE.status;}StatusRequireAbove(Elevatorconst&E){for(inti=E.floor+1;i<=Maxfloor;i++)if(E.CallCar[i]||E.CallDown[i]||E.CallUp[i])returnTRUE;returnFALSE;}StatusRequireBelow(Elevatorconst&E){for(inti=E.floor-1;i>=Minfloor;i--)if(E.CallCar[i]||E.CallDown[i]||E.CallUp[i])returnTRUE;returnFALSE;}StatusEleAchieved(Elevator&E){if(E.CallCar[E.floor])returnTRUE;if(E.Stage==Up&&E.CallUp[E.floor]||E.Stage==Down&&E.CallDown[E.floor])returnTRUE;數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第16頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第16頁。{E.Stage=Down;returnTRUE;}if(E.Stage==Down&&E.CallUp[E.floor]&&!RequireBelow(E)){E.Stage=Up;returnTRUE;}returnFALSE;}StatusEleOpenDoor(Elevator&E){if(E.CallCar[E.floor]||E.CallDown[E.floor]&&E.Stage==Down||E.CallUp[E.floor]&&E.Stage==Up)returnTRUE;if(E.status==Waiting){if(E.CallDown[E.floor]){E.Stage=Down;returnTRUE;}if(E.CallUp[E.floor]){E.Stage=Up;returnTRUE;}}returnFALSE;}EleStageEleDecide(Elevator&E){intAbove,Below;Above=RequireAbove(E);數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第17頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第17頁。if(Above==0&&Below==0)returnStop;else{if(E.Stage==Up){if(Above!=0)returnUp;else{E.Stage=Down;returnDown;}}else{if(Below!=0)returnDown;else{E.Stage=Up;returnUp;}}}}ActionElevatorRun(Elevator&E){switch(E.status){caseOpening:E.status=Opened;E.Count=CloseTest;returnDoorOpened;caseOpened:數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第18頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第18頁。E.Stage==Up&&!E.CallCar[E.floor]&&!E.CallUp[E.floor]){ E.status=Closing;E.Count=DoorTime;} break;caseClosing:E.status=Closed;returnDoorClosed;caseWaiting:if(E.Count==0){if(E.floor!=1)E.CallCar[1]=1;}elseE.Count--;if(EleOpenDoor(E)){E.status=Opening;E.Count=DoorTime;break;}caseClosed:break;caseMoving://完成移動(dòng)if(E.Stage==Up)E.floor++;else E.floor--;returnAchieved;E.status=Opening;E.Count=DoorTime;break;};returnNone;數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第19頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第19頁。//單鏈隊(duì)列--隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)typedefClient*QElemType;//等候隊(duì)列typedefstructQNode{QElemType data;structQNode *next;}QNode,*QueuePtr;typedefstruct{QueuePtr front;QueuePtr rear;}WQueue;//等待隊(duì)列的基本操作StatusInitQueue(WQueue&Q){Q.front=Q.rear=newQNode;if(!Q.front)returnOVERFLOW;Q.front->next=NULL;Q.front->data=NULL;returnOK;}StatusDestroyQueue(WQueue&Q){while(Q.front){數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第20頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第20頁。if(Q.front->data)DestoryClient(Q.front->data);elseQ.front;Q.front=Q.rear;}returnOK;}StatusEnQueue(WQueue&Q,QElemTypee){QueuePtrp;p=newQNode;if(!p)returnOVERFLOW;p->data=e;p->next=NULL;Q.rear->next=p;Q.rear=p;returnOK;}StatusDeQueue(WQueue&Q,QElemType&e){QueuePtrp;if(Q.front==Q.rear)returnERROR;p=Q.front->next;e=p->data;Q.front->next=p->next;if(Q.rear==p)Q.rear=Q.front;數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第21頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第21頁。returnOK;}StatusQueueEmpty(WQueueQ){if(Q.front==Q.rear)returnTRUE;else returnFALSE;}StatusQDelNode(WQueue&Q,QueuePtrp){QueuePtrq;if(p==NULL||p->next==NULL)returnERROR;q=p->next;p->next=q->next;if(p->next==NULL)Q.rear=p;DestoryClient(q->data);free(p);returnOK;}StatusCGiveUp(WQueue&Q,intfloor){QueuePtrp;p=Q.front;if(p->next!=NULL)if(p->next->data->GivepuTime==0&&floor!=p->next->data->Infloor)數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第22頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第22頁。PrintClientInfo(*(p->next->data),GiveUp);TotalTime+=Time-CInTime(*(p->next->data));QDelNode(Q,p);GiveUpNumber++;}else p->next->data->GivepuTime--;returnOK;}voidPrintQueue(WQueueQ){QueuePtrq;intcount=0;if(Q.front->next==NULL)gotoend;q=Q.front->next;while(q!=NULL){cout<<setw(3)<<q->data->ClinetID<<'';q=q->next;count++;}end:while(count++<=4)cout<<"";}voidInOut(Elevator&E,WQueuew[Maxfloor+1][2])數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第23頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第23頁。Client*p;if(E.CallCar[E.floor])if(StackEmpty(E.S[E.floor]))E.CallCar[E.floor]=0;else{Pop(E.S[E.floor],p);E.ClientNumber--;InOutCount=InOutTime;PrintClientInfo(*p,Out);TotalTime+=Time-CInTime(*p);DestoryClient(p);}if(E.CallCar[E.floor]==0)if(!QueueEmpty(w[E.floor][E.Stage])){DeQueue(w[E.floor][E.Stage],p);Push(E.S[COutfloor(*p)],p);if(E.CallCar[COutfloor(*p)]!=1){E.CallCar[COutfloor(*p)]=1;}E.ClientNumber++;InOutCount=InOutTime;PrintClientInfo(*p,In);}數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第24頁。數(shù)據(jù)結(jié)構(gòu)電梯模擬全文共28頁,當(dāng)前為第24頁。{if(E.Stage==Down)E.CallDown[E.floor]=0;elseE.CallUp[E.floor]=0;}}voidNewClient(Elevator&E,WQueuew[5][2]){Client*p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論