电梯调度

项目名称:电梯调度

队员:闵芮  高琪

需求分析:

以春晖楼为例,春晖楼东办共11层,两部电梯。从一层至十一层中途不停的话大概需要35秒左右,每层停顿时,如无人为干扰停顿时间大概3秒左右。

需要解决的问题是当有人按电梯时怎样使电梯最快到达

设计思路:

1.以结构体来定义电梯,包括电梯编号,电梯所在楼层,电梯状态(上升,下降,停滞),电梯内人数,进入电梯人数,走出电梯人数

             struct L{

                             int  num;//编号

                             int  floor;//楼层

//定义一个枚举类型State{1,0,-1}来表示电梯的状态,1表示上升,0表示停滞,-1表示下降

                             State isup;//状态

                             int   n;//电梯内人数

                             int   in-count;//进入电梯人数

                             int   out-count;//走出电梯人数

}

2.定义电梯数组来表示一栋大楼中的电梯数

3.设两个随机数,一个表示进入电梯人数,一个表示走出电梯人数。走出电梯数不能大于电梯内人数,否则重置;

4.以循环实现电梯的上升和下降,i从0至n表示电梯上升,至n层后电梯开始下降。i从n至0表示下降。当电梯中人数为0时且进入人数为0时,电梯停滞

5.设置几次循环,将各次循环的电梯的各个状态参数以文本文件的形式输出

6.解决问题:当有人按电梯时,选择最快到达的电梯

编程安排:

3月10日至3月14日每天19:00~21:00,两小时,每人主编一小时

3月15日~16日 整理整合提交博客

原文地址:https://www.cnblogs.com/xingq/p/3594968.html