实现简单电梯调度
GitHub地址
- 本程序基于以下设定:
- 在乘客请求电梯时,电梯才知道乘客的信息。
- 电梯在每秒内会规划好下一秒的行动。
- 电梯不会超载,乘客不会等的不耐烦去走楼梯。
- 电梯可以在运行过程中瞬间掉头。
- 乘客请求时刻为整数时刻。
- 程序信息:
- 程序包括一个头文件,一个头文件中类的实现,和一个主函数。
- 头文件
passager.h 。
- 长度20行。
- 包括类:
passager。
- 成员变量(
public):
id(int):记录乘客的编号。
isok(int):记录乘客的状态,分为0,1,2三种,0
0:还未进入电梯。
1:已经进入了电梯。
2:已经离开了电梯。
floor(int):表示请求电梯时所在的楼层。
direction(int):表示目标楼层。
time(int):表示请求电梯的时间。
goal(int):表示此时请求电梯前往的楼层。
- 成员函数(
public):
passager:构造函数。
~passager:析构函数。
call(void):
in_out(int):
- 输入:现在的楼层和现在的时间。
- 作用:判断是否有乘客需要进出,并更新乘客的状态。
- 输出:离开的乘客所等待的时间。
- 重载运算符
>>:
- 作用:输入时间,请求电梯时乘客所在的楼层,和目标楼层,并将目标楼层改为
1或10 。
- 源文件
passager.cpp:为 passager类的实现。
- 源文件
lift.cpp:
- 长度:100行。
- 变量:
liftgoal(int):电梯当前运行目标。
nowtime(int) :当前时间。
liftfloor(int) 电梯当前所在楼层。
goalid(int):电梯当前运行目标的请求乘客编号。
sumtime(int):总等待时间。
- 函数:(未完待续)
2017面向对象程序设计寒假作业2
原文:https://www.cnblogs.com/jhy16193335/p/8426760.html