首页
会员中心
到顶部
到尾部
VC毕业设计

电梯仿真程序设计报告+任务书+仿真电梯MFC源程序

时间:2020/10/13 21:16:14  作者:  来源:  查看:0  评论:0
内容摘要: 题目:      电梯仿真程序设计一.引言1.编写目的:根据实际电梯的运行状况进行需求分析,运用面向对象的思想,结合MFC设计一个仿真电梯。电梯能完成正常的运作,多楼层请求。面对一个现实世界的电梯,将其抽象成一个...

题目:      电梯仿真程序设计

一.引言

1.编写目的:根据实际电梯的运行状况进行需求分析,运用面向对象的思想,结合MFC设计一个仿真电梯。电梯能完成正常的运作,多楼层请求。面对一个现实世界的电梯,将其抽象成一个或多个类,每个类编写相应的接口,体会面向对象的封装性、继承性、多态性。

2.定义:View(前台视图层)、Bean(后台业务逻辑层)、PlanQueue(调度队列) 、   Timer(计时器)

3.参考资料:1、《C++语言程序设计》(清华大学出版社)郑莉(著)

2、《深入浅出MFC》(华中科技大学出版社)侯俊杰(著)

3、《C++ primer中文版》(人民邮电出版社)李师贤(译)

4、《UML面向对象建模与设计》pdf版

二.任务的描述

1.目标:1)、根据实际电梯的运行状况进行需求分析;

2)、抽象电梯运行算法;

3)、设计电梯运行程序及人机交互界面;

4)、模块功能满足要求、界面友好、具有一定的健壮性;

2.功能描述:电梯可以接受各个楼层的向上、向下请求。人在电梯内,可以通过电梯内的按钮到达想要去的层数。当电梯向上运行时,接受当前电梯所在楼层之上的向上请求,在相应的楼层处停下。当电梯向下运行时,接受当前楼层之下的向下请求。电梯门开,然后    进出人,电梯最大承载人数为15,不能超载。分别用了两个Timer            来控制电梯的运行和电梯门的开关。

3.性能描述

(1)数据精确度:不存在复杂数据之间的转换,精确度100%

(2)时间特性:更新处理时间:电梯上下40ms,开关门30ms

4.运行环境:硬件:装有Windows XP的计算机。

软件:Visual C++ 6.0

5.条件与限制:同时具备硬件和软件条件

三.任务设计

1.类的划分:本系统一共有四个类:电梯类(MyElevator)、按钮类(CMyButton)、调度队列类(PlanQuene)、显示对话框类(CElevatorDlg)。

系统分为两层结构:View层、Bean层。大致框架如图:电梯仿真程序设计报告+任务书+仿真电梯MFC源程序

(1) 类1:调度队列类(PlanQuene),运用循环队列存储各楼层的请求。数据成员:int * quene;int front;int rear;front、rear分别为头指针和尾指针,队列用数组实现。

成员函数:void InQuene(int n):将第n层的请求加入队列中,尾指针后移一位,rear=(rear+1)%FLOORS;实现循环。

void OutQuene(int n):请求响应完成后将该请求出队,从队头开始查,查到n将从n之后的请求向前覆盖。

BOOL SearchQuene(int n):查找队列里是否已经存储了第n层的请求。如果有返回TRUE,否则返回FALSE。

(2) 类2:电梯类(MyElevator),用于更改电梯运行状态及响应处理各层请求。

数据成员:int CurrentF; //当前电梯所在层

int CurrentP; //当前电梯内的人数

int status; //电梯状态:STOP,UP,DOWN

int * board;  //电梯内键盘数组

PlanQuene * queue1; //电梯内的请求队列

BOOL start;  //控制开关变量

CElevatorDlg * dlg; //电梯所在对话框

int floors; //楼层数

int maxPeopleNum; //最大人数类

成员函数:void Start(BOOL really=TRUE);  //启动、停止控制

void SetStatus();  //设置更改电梯运行状态

SetStatus根据扫描goUp、goDown及队列quene1,如果电梯现在停止,若队列不为空,就取队列第一个请求与当前楼层比较,大于当前楼层就调整电梯向上,小于向下,等于时恢复相应的按钮并把该请求出队。

如果电梯正在向下,从当前楼层向下扫描各楼层,看是否有请求的楼层(goDown[i]==1表示i层有向下请求),若有跳出;没有就扫描当前楼层之上的,看是否有楼层请求(goUp[i]==1表示i层有向上请求),若有请求,调整电梯向上运行;上下都没请求时,电梯停止在当前楼层。

如果电梯正在向上,先从当前楼层向上扫描各楼层,看是否有请求的楼层,若有跳出;没有就扫描当前楼层之下的,看是否有楼层请求,若有请求,调整电梯向下;上下都没请求时,就停止在该楼层。

更改电梯运行状态算法流程图:

电梯仿真程序设计报告+任务书+仿真电梯MFC源程序

电梯仿真程序设计报告+任务书+仿真电梯MFC源程序
电梯仿真程序设计报告+任务书+仿真电梯MFC源程序
电梯仿真程序设计报告+任务书+仿真电梯MFC源程序

  


相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号