第三次作业
GitHub:pullself
类图
基本信息
主要是在上一个电梯的基础上修改的。由于本周忙于复习,调度方式较为简陋。
代码行数 | 调试bug | 编码时间 |
---|---|---|
832行 | 3个 | 2h |
程序总共由5个文件组成:
main.cpp
:主函数,程序的入口。elevator.h
:定义了电梯类,包含两个电梯成员的封闭类以及两个派生类。elevator.cpp
:电梯类方法的实现。ask.h
:定义了请求类。ask.cpp
:请求类方法的实现。
编码过程
简介
- 奇数电梯以及偶数电梯都是由基础电梯类继承而来的。
- 调度采用了比较简单的分配方式。
- 准备后续改造将请求的分配单独成一个调度类来处理。
- 这次以学习的目的,特地尝试了继承以及多态。
问题
1.这次主要的问题来自于文件输入输出的处理,由于这次是采用一步一步输出的方式所以注意到了文件输出需要不覆盖之前的问题。
bug修复
- 修复了上一个版本电梯构造队列的严重逻辑错误。
- 修复了在同一运行时刻将同一请求多次加入队列的问题。
- 修复了0时无请求时,跳过第一个请求的问题。
- 修复了请求队头的判定条件错误。
- 修复了电梯运行时间不同步的问题。
c语言实现
如果采用c语言,无非就是全局定义三组变量来描述三部电梯,然后利用调度函数,队列构造函数以及运行函数,模拟运行。