資源簡介
完整的智能電梯c語言程序打包。8層雙電梯。主要解決雙電梯運行最優化的問題。

代碼片段和文件信息
#include“lift.h“
void?judgeinlift(int?x?int?y?int*?butt?int?*?liftin?enum?direct*?direction)
{ ////判斷進入電梯樓層數和左右方向
int?n=0;
if((*butt)&&(y>111&&y<429) //點擊”上“,”下“區域則執行
&&((x>175&&x<200)||(x>400&&x<425)))
{
n=8-(y-110)/40;
*liftin=n; //確定樓層數
/////確定左右上下
if(x>175&&x<200)
{
if(y>390&&y<429)
*direction=1;//leftup;左上
else?if(y>111&&y<150)
*direction=2;//leftdown;左下
else
{
n=(y-150)/20;
if((n%2)==0)
*direction=1;//leftup;左上
else?if((n%2)==1)
*direction=2;//leftdown;左下
}
}
else?if(x>400&&x<425)
{
if(y>390&&y<429)
*direction=3;//rightup;右上
else?if(y>111&&y<150)
*direction=4;//rightdown;右下
else
{
n=(y-150)/20;
if((n%2)==0)
*direction=3;//rightup;右上
else?if((n%2)==1)
*direction=4;//rightdown;右下
}
}
??
?*butt=0; //鼠標清零,閃爍
?shd(xy);
}
}
void?judgeoutlift(int?xint?yint?*buttint?*liftoutenum?direct*direction)
{ ////判斷走出電梯樓層數和左右方向
int?n=0;
if((*butt)&&(y>101&&y<179) //點擊門旁邊樓層號則執行
&&((x>56&&x<68)||(x>431&&x<453)
||(x>156&&x<168)||(x>531&&x<543)))
{
if((x>56&&x<68)||(x>431&&x<453))
n=1;
else?if((x>156&&x<168)||(x>531&&x<543))
n=5;
/////確定樓層數
*liftout=(y-100)/20+n;
//確定左右
if((x>56&&x<68)||(x>156&&x<168))
?*direction=9;//left;左
else?if((x>431&&x<453)||(x>531&&x<543))
*direction=10;//right;右
*butt=0; //鼠標清零,閃爍
shd(xy);
}
}
void?ljudgepeple(int?xint?yint?*buttint?*peopleenum?direct*direction)
{ //判斷左邊進入走出人數
int?n=0; //點擊人數選項區域則執行
if((*butt)&&((y>220&&y<260)||(y>270&&y<310))
&&((x>51&&x<174)||(x>426&&x<549)))
{
*butt=0; //鼠標清零,閃爍
shd(xy);
if(y>220&&y<260)//判斷為進入
{
if(y>220&&y<240)
n=1;
else
n=6;
if(x>51&&x<174)
{ /////計算人數
*people=(x-50)/25+n;
*people%=10;
*direction=5;//leftin;
}
}
else?if(y>270&&y<310)//判斷為走出
{
if(y>270&&y<290)
n=1;
else
n=6;
if(x>51&&x<175)
{ /////計算人數
*people=(x-50)/25+n;
*people%=10;
*direction=6;//leftout;
}
}
}
}
void?rjudgepeple(int?xint?yint?*buttint?*peopleenum?direct*direction)
{ //判斷右邊進入走出人數
int?n=0; //點擊人數選項區域則執行
if((*butt)&&((y>220&&y<260)||(y>270&&y<310))
&&((x>51&&x<174)||(x>426&&x<549)))
{
*butt=0; //鼠標清零,閃爍
shd(xy);
if(y>220&&y<260)//判斷為進入
{
if(y>220&&y<240)
n=1;
else
n=6;
/////計算人數
?if(x>426&&x<549)
{
*people=(x-425)/25+n;
*people%=10;
*direction=7;//rightin;
}
}
else?if(y>270&&y<310)//判斷為走出
{
if(y>270&&y<290)
n=1;
else
n=6;
/////計算人數
if(x>426&&x<549)
{
*people=(x-425)/25+n;
*people%=10;
*direction=8;//rightout;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????6619??2009-11-30?22:17??lift\CONTROL.BAK
?????文件???????6618??2010-10-15?20:27??lift\CONTROL.C
?????文件???????7165??2009-11-30?22:23??lift\CONTROL.OBJ
?????文件??????17113??2010-10-16?16:54??lift\DESIGN.C
?????文件??????12401??2009-11-30?21:18??lift\DESIGN.OBJ
?????文件????????749??2009-11-06?15:36??lift\DOORACT.C
?????文件???????1448??2009-11-30?21:18??lift\DOORACT.OBJ
?????文件???????5554??1992-02-18?03:00??lift\EGAVGA.BGI
?????文件?????267616??1998-09-06?07:20??lift\HZK16
?????文件???????2716??2010-10-16?14:44??lift\HZSTR.C
?????文件???????5487??2009-11-30?21:18??lift\HZSTR.OBJ
?????文件???????3569??2009-11-01?16:40??lift\judgement.c
?????文件???????3828??2009-11-30?21:18??lift\JUDGEM~1.OBJ
?????文件???????3262??2009-11-30?22:24??lift\LIFT.DSK
?????文件??????83011??2009-11-30?22:23??lift\LIFT.EXE
?????文件???????4403??2009-11-30?21:18??lift\LIFT.H
?????文件????????630??2009-11-30?21:18??lift\LIFT.OBJ
?????文件???????8235??2009-11-30?22:23??lift\LIFT.PRJ
?????文件???????1259??2010-10-15?23:11??lift\LIFTACTY.C
?????文件???????1823??2009-11-30?21:18??lift\LIFTACTY.OBJ
?????文件???????2137??2009-11-05?23:39??lift\MENU.C
?????文件???????3065??2009-11-30?21:18??lift\MENU.OBJ
?????文件???????1388??2009-11-07?02:18??lift\MOUSE.C
?????文件???????2269??2009-11-30?21:18??lift\MOUSE.OBJ
?????文件???????1459??2009-11-07?04:09??lift\OUTHZ.C
?????文件???????2386??2009-11-30?21:18??lift\OUTHZ.OBJ
?????文件???????1936??2009-11-05?22:51??lift\record.C
?????文件???????2883??2009-11-30?21:18??lift\RECORD.OBJ
?????文件???????2559??2009-11-03?01:30??lift\SCENDOFL.C
?????文件???????2892??2009-11-30?21:18??lift\SCENDOFL.OBJ
............此處省略18個文件信息
- 上一篇:漢諾塔非遞歸算法 用棧 C語言
- 下一篇:四軸飛行器簡介與姿態傳感器卡爾曼濾波
評論
共有 條評論