• 大小: 1.62MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-31
  • 语言: C/C++
  • 标签: 亲测可用  

资源简介

这个是一个电梯的模拟运行程序可视化显示电梯的运行状态

资源截图

代码片段和文件信息


#include “dian.h“
#include“time.h“
#include“cstring“
#include“ctime“
 Lift dian::lift[16];
passenger dian::person;
extern  int time1;



dian::dian()
{

for(int i=1;i<15;i++)
{
lift[i].addper=0;
lift[i].delper=0;

}
// cout<<“输入你模拟的时间段,1 高峰期 2 低峰期“;
// cin>>time1;
Umaxfloor=14;//这栋楼的电梯最大为14层
dmaxfloor=1;//这栋楼的电梯是从1层开始的
Nowfloor=0;//出事化时电梯在一层
total=0;//电梯中的总人数初始0
zhuangtai=0;//记录电梯的状态
}



/////////////////////////////////////////////////////////////////////////////
// dian message handlers

void dian::add(QueuePtr w)
{
//将乘客接入向上升电梯
   int i=w->endfloor;//将乘客要上到的楼层赋值给i
   List *q;
   q=(List*)malloc(sizeof(List));
   q->endfloor=w->endfloor;
   q->nowfloor=w->nowfloor;
   strcpy(q->namew->name);
   q->muptime=w->muptime;
   q->suptime=w->suptime;
   lift[i].list1.add(q);//将乘客加到他要下的那一层的上电梯的链表里
   total++;
   string s1s;
   //CString s1s;
  // s=“ “;
   //m_puanduan.SetWindowText(s);
   lift[w->nowfloor].addper++;    
   //s1.Format(“%d“total);
   cout<<“电梯中的总的人数“<  // m_total.SetWindowText(s1);
   person.del(w->nowfloor);//将上电梯的乘客删除
   // UpdateData();
   Sleep(2000);
}

void dian::del(int floor)
{
ctime time=CTime::GetCurrentTime();//
Sleep(100);
List1 q;
int i=0;
int mtimestimetotaltime;
    while(lift[floor].list1.length()!=0)
{  i++;
   lift[floor].delper++;
    total--;
    CString s2s1;
s2.Format(“%d“total);
m_total.SetWindowText(s2);
q=lift[floor].list1.get();
stime=time.GetSecond();
        mtime=time.GetMinute();
if(mtime>q->muptime)
{
           totaltime=60-q->suptime+stime;
}
else
totaltime=stime-q->suptime;
        s1.Format(“在%d上电梯在%d下电梯用时%d秒“q->nowfloorq->endfloortotaltime);//电梯中的总人数
       cout<<“所用的时间“< // m_time.SetWindowText(s1);
lift[floor].list1.del();
   }
CString s0s;
        s0.Format(“%d层有“floor);
s.Format(“%d人下电梯“i);
        s0=s0+s;
        m_xia.SetWindowText(s0);
RedrawWindow();
Sleep(2000);

  
}

int dian::downyi(int floor)
{
  CTime time=CTime::GetCurrentTime();//
  int mtimestimetotaltime;
  int Floor;
  CString s;
  floor--;
  s.Format(“%d“floor);
  m_lou.SetWindowText(s);//显示现在的楼层
  downmove(floor);//当电梯有人呼叫的时候让电梯一层一层的运行到达呼叫的乘客的楼层
  if(lift[floor].list1.length()!=0)
{
  del(floor);
}
  if(lift[floor].downwaiter.length()==0&&lift[floor].upwaiter.length()==0)
{//没有人上车
if(total==0)
{
//电梯中没有人
          if((Floor=panduan())!=0)
  {
  CString s3;
  s3.Format(“有%d“Floor);
  s3=s3+“层呼叫电梯“;
  m_puanduan.SetWindowText(s3);
  RedrawWindow();
  if(Floor   downGetper(floorFloor);
  else
  upGetper(floorFloor);
            if(lift[Floor].upwaiter.length()!=0)
{ QueuePtr q;
    int i=0;
//呼叫的乘客是向上走的
while(lift[Floor].upwaiter.length()!=0)
{
i++;
//while()循环将乘客装入电梯
if(total==12)
{//电梯装满了
return upyi(Floor);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-01-11 23:10  dian\
     目录           0  2015-01-11 22:40  dian\Debug\
     文件     5344272  2015-01-11 22:40  dian\Debug\dian.pch
     文件        4426  2015-01-11 22:19  dian\Debug\dui.obj
     文件        4286  2015-01-11 22:19  dian\Debug\lian.obj
     文件       13605  2015-01-11 22:23  dian\Debug\queue.obj
     文件      197632  2015-01-11 22:47  dian\Debug\vc60.idb
     文件      110592  2015-01-11 22:47  dian\Debug\vc60.pdb
     文件       26369  2015-01-11 22:47  dian\dian.cpp
     文件        4199  2015-01-11 22:12  dian\dian.dsp
     文件         516  2015-01-11 22:12  dian\dian.dsw
     文件        1443  2015-01-11 22:40  dian\dian.h
     文件       50176  2015-01-11 23:12  dian\dian.ncb
     文件       50688  2015-01-11 23:10  dian\dian.opt
     文件       11486  2015-01-11 22:47  dian\dian.plg
     文件           0  2015-01-11 22:17  dian\dui.asp
     文件        1260  2015-01-11 22:19  dian\dui.cpp
     文件         551  2015-01-11 22:18  dian\dui.h
     文件           0  2015-01-11 22:14  dian\lian.asp
     文件         890  2015-01-11 22:19  dian\lian.cpp
     文件         681  2015-01-11 22:18  dian\lian.h
     文件         853  2015-01-11 22:23  dian\queue.cpp
     文件         685  2015-01-11 22:23  dian\queue.h
     文件         853  2015-01-11 22:19  dian\squeue.cpp
     文件         685  2015-01-11 22:18  dian\squeue.h

评论

共有 条评论