电梯控制程序

电梯控制程序,第1张

目前电梯的上下决策

完全取决于一个up,down

缺少了分析人群停留的预测功能

所以我认为

首先在这个程序里面

必须多一个组件

用来统计各个业主可能停留的分布

一旦这个统计的控件真的开始运行

它要担任的工作有这么几个

第一,计算出在目前情况下

在只哪几个楼层停下来

可以让时间最少,停的次数最少

第二,给出候梯人员建议

比如说

“大家好,我是电梯,我现在给出大家一个建议:

刚才大家的按键表明,3个人去23楼,5人去10楼,4人去5楼,还有1个要去3楼

情况是这样的:

上面8楼有3个人去2楼,5个人来1楼,

据估算,如果你要去23楼的话,不如坐3号电梯,因为它将在载大家到目的地的同时,还担任着去顶楼取货的任务。

如果到10楼的,就坐1号就可以,你们大概要等40秒,再加上20秒,你们也即将抵达目的地

按你的要求写了这个程序。试运行正常。

程序运行截图如下:

希望对你有帮助!

【百度知道】土堆上的石头

#include<stdio.h>

void main()

{

int n=10,set,end,i

printf("本电梯一共%d层。\n",n)

printf("请输入你所在的楼层:\n")

while(1)

{

scanf("%d",&set)

if(set>=1&&set<=n)

 break

printf("没有第%d层,请重新输入:\n",set)

}

printf("你现在在第%d层。\n",set)

printf("请选择:\n1.上行\n2.下行\n")

while(1)

{

scanf("%d",&i)

if(i>=1&&i<=2)

 break

printf("选择数字错误,请重新输入:\n")

 }

if(i==1)

{

while(1)

{

 printf("请输入你要去的楼层:\n")

 scanf("%d",&end)

    if(end>=1&&end<=n)

 {

  if(end>=set)

   break

  else

   printf("此为上行,请输入较高层的层数。\n")

 }

 else

  printf("没有第%d层,请重新输入:\n",end)

}

printf("电梯上行中……\n")

for(i=seti<=endi++)

 printf("现在到了第%d层。\n",i)

printf("第%d层已到!\n",end)

 }

if(i==2)

{

while(1)

{

 printf("请输入你要去的楼层:\n")

 scanf("%d",&end)

    if(end>=1&&end<=n)

 {

  if(end<=set)

   break

  else

   printf("此为下行,请输入较低层的层数。\n")

 }

 else

  printf("没有第%d层,请重新输入:\n",end)

}

printf("电梯上行中……\n")

for(i=seti>=endi--)

 printf("现在到了第%d层。\n",i)

printf("第%d层已到!\n",end)

}

}

电梯系统需要以下几个程序功能:

(1)处理电梯呼叫:乘客呼叫电梯、电梯按钮明灭、电梯控制器处理电梯呼叫、处理按钮信息更新等

(2)处理楼层呼叫:包括乘客选择楼层、楼层按钮明灭、电梯控制器处理楼层呼叫、处理按钮信息更新等

(3)移动停止电梯:包括驱动速度的改变、停止的判定、电梯的运动方向驱动

(4)标志移动方向:让乘客知道电梯目前运动方向、决定是否进入电梯

(5)标志电梯位置:让乘客知道乘客的目的层是否到达。决定是否离开电梯

(6)开关门:乘客进出电梯,电梯应该开关门。应包括电梯正关闭而乘客想进入时乘客可以使电梯门打开

(7)触发紧急处理器:电梯有安全机制确定一个不安全的状态不是瞬时产生的


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8099621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存