當前位置:編程學習大全網 - 源碼下載 - 求用C++做的"電梯模擬程序"的源代碼

求用C++做的"電梯模擬程序"的源代碼

別人的東西,妳看看吧

/*

* Elevator.h

* ElevatorAssignment

*

* Created by Isaac Huang on 08-6-23.

* Copyright 2008 __MyCompanyName__. All rights reserved.

*

*/

class Elevator

{

private:

int WhichFloor;

public:

Elevator();

void ChangeFloor(int);

int GetFloor();

void Working();

};

/*

* Elevator.cpp

* ElevatorAssignment

*

* Created by Isaac Huang on 08-6-23.

* Copyright 2008 __MyCompanyName__. All rights reserved.

*

*/

#include "Elevator.h"

#include <iostream.h>

Elevator::Elevator():WhichFloor(1){}

void Elevator::ChangeFloor(int num)

{

cout<<"Elevator Goes From "<<WhichFloor<<" To "<<num<<endl;

WhichFloor=num;

}

int Elevator::GetFloor()

{

return WhichFloor;

}

/*

* Building.h

* ElevatorAssignment

*

* Created by Isaac Huang on 08-6-23.

*

*/

#include "Floor.h"

#include "Elevator.h"

class Building

{

private:

Floor Floor1;

Floor Floor2;

Elevator Eleva;

int WorkTime;

public:

Building();

void Running(int);

void Print(int);

};

/*

* Building.cpp

* ElevatorAssignment

*

* Created by Isaac Huang on 08-6-23.

*

*/

#include "Building.h"

#include <stdlib.h>

#include <iostream.h>

#include <time.h>

Building::Building():Floor1(1),Floor2(2),WorkTime(0){}

void Building::Running(int OrderTime)

{

int i,iLater1=0,iLater2=0,Spent;

for(i=1;i<=OrderTime;i+=Spent)

{

Spent=1;

srand(time(0));

int Number1=5+rand()%16;

if((i-iLater1)==Number1)

{

Floor1.CreatePeople();

iLater1=i;

}

srand(time(0));

int Number2=5+rand()%16;

if((i-iLater2)==Number2)

{

Floor2.CreatePeople();

iLater2=i;

}

if(Eleva.GetFloor()==1)

{

if(Floor1.ReturnPeople()!=0)

{

Floor1.GetInside();

Eleva.ChangeFloor(2);

WorkTime++;

Spent=5;

Print(i+Spent);

}

else if(Floor2.ReturnPeople()!=0)

{

Eleva.ChangeFloor(2);

Floor2.GetInside();

Eleva.ChangeFloor(1);

WorkTime++;

Spent=10;

Print(i+Spent);

}

}

else if(Eleva.GetFloor()==2)

{

if(Floor2.ReturnPeople()!=0)

{

Floor2.GetInside();

Eleva.ChangeFloor(1);

WorkTime++;

Spent=5;

Print(i+Spent);

}

else if(Floor1.ReturnPeople()!=0)

{

Eleva.ChangeFloor(1);

Floor1.GetInside();

Eleva.ChangeFloor(2);

WorkTime++;

Spent=10;

Print(i+Spent);

}

}

}

//Print(OrderTime);

}

void Building::Print(int Time)

{

cout<<"Work Time: "<<Time<<"s"<<endl;

cout<<WorkTime<<" People Have Been Transported."<<endl;

cout<<"The Number Of People On The 1st Floor: "<<Floor1.ReturnPeople()<<endl;

cout<<"The Number Of People On The 2nd Floor: "<<Floor2.ReturnPeople()<<endl;

}

/*

* Floor.h

* ElevatorAssignment

*

* Created by Isaac Huang on 08-6-23.

*

*/

class Floor

{

private:

int FloorNumber;

int PeopleOnThisFloor;

public:

Floor(int);

void CreatePeople();

void GetInside();

int ReturnNumber();

int ReturnPeople();

};

/*

* Floor.cpp

* ElevatorAssignment

*

* Created by Isaac Huang on 08-6-23.

*

*/

#include "Floor.h"

Floor::Floor(int num):FloorNumber(num)

{

if(FloorNumber==1)

PeopleOnThisFloor=100;

else

PeopleOnThisFloor=100;

}

void Floor::CreatePeople()

{

PeopleOnThisFloor++;

}

int Floor::ReturnNumber()

{

return FloorNumber;

}

void Floor::GetInside()

{

PeopleOnThisFloor--;

}

int Floor::ReturnPeople()

{

return PeopleOnThisFloor;

}

#include "Building.h"

int main()

{

Building Sample;

Sample.Running(3600);

return 0;

}

  • 上一篇:魅族3逛熊neo口袋動物園,為什麽掃描不到激活二維碼?
  • 下一篇:有壹個武漢洪雁科技有限公司就兼職兼做蝦皮跨境電商。妳得先付錢。有人報名了嗎?可信嗎?
  • copyright 2024編程學習大全網