设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
电梯仿真程序设计报告+任务书+仿真电梯MFC源程序
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

题目:      电梯仿真程序设计

一.引言

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层。大致框架如图:

(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层有向上请求),若有请求,调整电梯向上运行;上下都没请求时,电梯停止在当前楼层。

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

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




  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于Python的在线自主考试系 基于腾讯云的个人知识库管理系统 基于Android的酒店预定系统
基于matlab变频器控制交流电 基于微信小程序的家校联动平台管理 基于时频分析与自适应滤波技术的多
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!