• 大小: 162KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签:

资源简介

数据结构电梯代码,电梯运行可视化. 仅供参考,请勿抄袭,违者后果自负.

资源截图

代码片段和文件信息



#include “stdafx.h“
#include 
#include      
#include 
#include 
#include 
#include  
#include 
#include 

using namespace std;

#define OK 1
#define ERROE 0
#define OVERFLOW 0
#define MAXFLOOR 5
#define MAXRUNTIME 1000
#define UP 1   //电梯上
#define DROW -1  //电梯下
#define MAXNUM 15//电梯限制人数
#define NULLFLOOR -2//电梯初始化的参数
#define baseFLOOR  1//本垒层
#define STOP_T 40 //电梯的在某一层的停止时间(超过就回到本垒层)
#define GAP  150 //楼层间距(绘图)Y
#define STARTSHOW  88//开始画图的位置Y
#define SX 100//x轴标记量
#define GH 850
#define GW 980


enum Ele_state{OPENPASSENGERINPASSENGEROUTCLOSERUNINGSTOPSTRAIGHT};//电梯状态

typedef int Status;

unsigned int now_time = 0;//现在的时间
int cur_floor = 1;//刚开始电梯在一楼
static int gap_time = 5;//下一个乘客到来的间隔时间
int OPEN_TIME = 1;   //开门时间
int CLOST_TIME = 1;  //关门时间
int RUN_base_TIME = 1000;//整体运行单位时间
int STOP_TIME = 1;   //停止时间没有乘客时候的检查间隔
int  RUNING_TIME = 1; //电梯上下移动时间
int IN_TIME = 1; //进梯时间(一个乘客)
int OUT_TIME = 1; //出梯时间(一个乘客)
int stop_continue_time = 0; //在某一层停止的时间
int cur_state = STOP; //初始状态
int base_runing = 0; //用于判断回到本垒层
static int run_time; //每个状态的运行时间单位
int gap_time_next_passenger = 5;//下一个乘客到达时间参数
int num_p_e[5] = {00000}; //用于描画电梯的每层人数(画图)
int MAX_NUM_PASSENGER = 1000;//最大创造乘客人数
int came_num_passenger = 0;//累计等候乘客的人数


/*******画图模块**********/
/*
函数initImg加载图片
函数showImg在指定位置显示图片
函数showText在指定位置显示文字
函数showLine在指定位置显示线段
函数cleanEN清除电梯的显示
函数cleanEle清除电梯状态图标的显示
函数showEleNum显示电梯运行中的详细数据
函数removeEle移动电梯状态显示
函数cleanPASSM擦除第i层的候梯乘客信息
函数showPASSM显示第i层的候梯乘客信息
函数cleanMessage清除电梯运行信息
函数showMesssge显示电梯运行信息
函数showEleMessage显示电梯内人数
函数showElePassenger显示目的层数的乘客数量i为层数
函数initShow初始化基本画图框架
函数initPaint初始化画图
*/
IMAGE img_up;
IMAGE img_drow;
IMAGE img_open;
IMAGE img_close;
IMAGE img_stop;
IMAGE img_come;
IMAGE img_leave;
IMAGE img_add;
IMAGE img_delect;
IMAGE img;
void initImg(IMAGE &img_upIMAGE &img_drowIMAGE &img_stopIMAGE &img_leaveIMAGE &img_comeIMAGE &img_closeIMAGE &img_openIMAGE &img_addIMAGE &img_delect){
loadimage(&img_up _T(“img\\ele_up.jpg“)5050true);
loadimage(&img_drow _T(“img\\ele_drow.jpg“)5050true);
loadimage(&img_stop _T(“img\\ele_stop.jpg“)5050true);
loadimage(&img_leave _T(“img\\leave.jpg“)5050true);
loadimage(&img_come _T(“img\\come.jpg“)5050true);
loadimage(&img_close _T(“img\\ele_close.jpg“)5050true);
loadimage(&img_open _T(“img\\ele_open.jpg“)5050true);
loadimage(&img_add _T(“img\\add.jpg“)2020true);
loadimage(&img_delect _T(“img\\delect.jpg“)2020true);
img = img_stop;
}

void showImg(IMAGE imgint xint y){
putimage(xy&img);
}

void showText(TCHAR s[]int xint y){

outtextxy(x y s);
}

void showLine(int nXint nYint Xint Y){

line(nXnYXY);

}
void cleanEN(){
for(int i=0;i int ir = 5-i-1;
solidrectangle(0STARTSHOW+ir*GAP+15140STARTSHOW+ir*GAP+

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-02-12 14:01  电梯\
     文件       28359  2016-12-28 17:32  电梯\ele.cpp
     目录           0  2017-02-12 14:01  电梯\可运行程序\
     文件       48128  2016-12-28 17:32  电梯\可运行程序\ELE(要和img文件夹在同一层) (2).exe
     目录           0  2017-02-12 14:01  电梯\可运行程序\img\
     文件       58880  2016-12-28 17:19  电梯\可运行程序\img\Thumbs.db
     文件      120054  2016-12-27 14:28  电梯\可运行程序\img\add.jpg
     文件        3274  2016-12-26 22:00  电梯\可运行程序\img\come.jpg
     文件        2655  2016-12-26 22:18  电梯\可运行程序\img\delect.jpg
     文件      120054  2016-12-15 16:58  电梯\可运行程序\img\ele.jpg
     文件        7068  2016-12-26 21:56  电梯\可运行程序\img\ele_close.jpg
     文件        3042  2016-12-26 21:43  电梯\可运行程序\img\ele_drow.jpg
     文件      120054  2016-12-27 13:49  电梯\可运行程序\img\ele_open.jpg
     文件        6005  2016-12-26 21:43  电梯\可运行程序\img\ele_stop.jpg
     文件      120054  2016-12-27 13:53  电梯\可运行程序\img\ele_up.jpg
     文件        3324  2016-12-26 21:59  电梯\可运行程序\img\leave.jpg

评论

共有 条评论

相关资源