資源簡介
數據結構電梯代碼,電梯運行可視化.
僅供參考,請勿抄襲,違者后果自負.

代碼片段和文件信息
#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
- 上一篇:nginx三套視頻教程
- 下一篇:simplorer10
評論
共有 條評論