• 大小: 163KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: C/C++
  • 标签: 电梯仿真  C++  

资源简介

用C++实现了电梯仿真,附带代码和设计说明书,实现了电梯仿真运行。

资源截图

代码片段和文件信息

// ConsoleApplication4.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“
#include“elevator.h“
#include“passenger.h“
#include
void get_allowed_elevator(int example[]int from int to);//乘客获知应乘坐哪一部电梯
int get_best_elevator(elevator **eint example[] int from int to);
int main()
{
using namespace std;
srand(time(0));
cout << “--------------begin--------------“ << endl;
cout << “输入任意键仿真开始 : “ << endl;
int anybutton;
while (cin>>anybutton)
{
int K N M S T;

cout << “请输入电梯的最大载客量K(10<=K<=18):“ << endl;
cin >> K; cout << endl;
cout << “请输入电梯仿真的乘客数量N(0 cin >> N; cout << endl;
cout << “请输入仿真开始乘客到达1层的最大时间M分钟(0 cin >> M; cout << endl;
cout << “请输入电梯运行速度S(0<=S<=5):“ << endl;
cin >> S; cout << endl;
cout << “请输入乘客上下电梯所需要的时间T秒(2<=T<=10):“ << endl;
cin >> T; cout << endl;
/*
int build_button[41][10][2];     //这个数组表示楼层对应的电梯按钮是否被按下 0表示未被按下 1表示按下   第一个表示向上 第二个表示向下
//int elevator_floor_show[10];  //表示电梯所在楼层
for (int i = 0; i < 41; ++i)
{
for (int j = 0; j < 5; ++j)      //五对联动电梯
{
//elevator_floor_show[j] = 0;
for (int k = 0; k < 2; k++)
{
build_button[i][j][k] = 0;
}
}

}
*/

/* elevator E0(1 S K);//初始化10部电梯 五种工作模式
elevator E1(1 S K);
elevator E2(2 S K);
elevator E3(2 S K);
elevator E4(3 S K);
elevator E5(3 S K);
elevator E6(4 S K);
elevator E7(4 S K);
elevator E8(5 S K);
elevator E9(5 S K);

*/
elevator *E[10];                              //初始化10部电梯
for (int i = 0; i < 10; ++i)
{
int temp_im = 0;
temp_im = i / 2 + 1;
E[i] = new elevator(temp_im S K);
}
cout << “电梯初始化完成  .“ << endl;
passenger passenger_array[1000];//直接生成容量为1000的乘客数组
for (int i = 0; i < N; ++i)//为N个乘客赋值
{
passenger_array[i].set_M_MAX(M);
passenger_array[i].set_M_REAL();//实际到达一层的时间
passenger_array[i].set_T(T);
}
cout << “乘客初始化完成,仿真开始。“ << endl;
//************************************开始仿真******************************************************/
int total_t = 0; //仿真时间;
while (true)
{
cout << “仿真时间,第 “ << total_t << “ 秒; “ << endl;

++total_t;//一秒生成一次事件  下面为事件执行

for (int i = 0; i < N; ++i)//开始循环扫描乘客序列
{
if (passenger_array[i].L<-1)      //这个乘客的仿真已经结束了
{
continue;
}
//cout << “passenger_array[“ << i << “].L : “ << passenger_array[i].L << endl;
//cout << “passenger_array[“ << i << “].which_elevator“ << passenger_array[i].which_elevator << endl;
//cout << “passenger_array[“ << i << “].floor_to  “ << passenger_array[i].floor_to << endl;
//cout << “passenger_array[“ << i << “].floor_now  “ << passenger_array[i].floor_now << endl;
//cout << “passenger_array[“ << i << “].in_elevator “ << passenger_array[i].in_elevator << endl;
//cout << “passenger_array[“ << i << “].wait “ << passenger_array[i].wait << endl;




// cout << “passenger_array[i].time_outofel

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-08-31 13:11  电梯仿真\
     目录           0  2018-12-15 19:54  电梯仿真\源程序清单\
     文件       35481  2018-12-15 19:37  电梯仿真\源程序清单\ConsoleApplication4.cpp
     文件        8226  2018-12-01 19:13  电梯仿真\源程序清单\ConsoleApplication4.vcxproj
     文件        1692  2018-12-01 19:12  电梯仿真\源程序清单\ConsoleApplication4.vcxproj.filters
     文件        2560  2018-12-13 18:47  电梯仿真\源程序清单\elevator.cpp
     文件        1216  2018-12-13 16:38  电梯仿真\源程序清单\elevator.h
     文件        1289  2018-12-13 16:38  电梯仿真\源程序清单\passenger.cpp
     文件        1421  2018-12-13 16:38  电梯仿真\源程序清单\passenger.h
     文件         300  2018-12-15 19:55  电梯仿真\源程序清单\ReadMe.txt
     文件         223  2018-12-01 14:48  电梯仿真\源程序清单\stdafx.cpp
     文件         273  2018-12-01 19:12  电梯仿真\源程序清单\stdafx.h
     文件         240  2018-12-01 14:48  电梯仿真\源程序清单\targetver.h
     文件      120253  2018-12-15 19:35  电梯仿真\设计说明书.docx
     文件       83546  2018-12-15 19:51  电梯仿真\运行情况总结报告.docx

评论

共有 条评论