Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Project 1: Elevator Following the class diagram shown below, create the Elevator

ID: 3785730 • Letter: P

Question

Project 1: Elevator Following the class diagram shown below, create the Elevator class. An elevator represents a movable carriage that lifts its passengers between floors. As the elevator operates, its sequence of operations include opening its doors, letting off passengers, accepting new passengers, handling a floor request, closing its doors, and moving to another floor. This sequence continues to repeat while there are still people on board. A sample driver for this class is shown below. Each elevator request should display a single line of output as shown below. You should probably create a more complete driver to test your class

Explanation / Answer

PROGRAM CODE:

#include <iostream>
using namespace std;

//class Elevator with displaying messages for each operation
class Elevator
{
   private:
   int my_Floor;
   int my_NumberOfPassengers;
   bool my_DoorsOpen;
   public:
   //constructor
   Elevator()
   {
       my_DoorsOpen = false;
       my_NumberOfPassengers = 0;
       my_Floor = 1;
       cout<<"Elevator on Floor "<<my_Floor<<" with "<<my_NumberOfPassengers<<" passengers"<<endl;
   }
   void openDoors()
   {
       my_DoorsOpen = true;
       cout<<"Elevator Door's open"<<endl;
   }
   void closeDoors()
   {
       my_DoorsOpen = false;
       cout<<"Elevator moving to floor "<<my_Floor<<endl;
   }
   void letOffPassengers(int amount)
   {
       my_NumberOfPassengers -= amount;
       cout<<"Elevator has "<<my_NumberOfPassengers<<" passengers"<<endl;
   }
   void acceptPassengers(int amount)
   {
       my_NumberOfPassengers += amount;
       cout<<"Elevator has "<<my_NumberOfPassengers<<" passengers"<<endl;
   }
   void requestFloor(int floor)
   {
       my_Floor = floor;
       cout<<"Passengers want floor "<<floor<<endl;
   }
  
   bool isOnFloor(int floor)
   {
       if(my_Floor == floor)
       return true;
       else return false;
   }
   int getFloor()
   {
       return my_Floor;
   }
   int getPassengers()
   {
       return my_NumberOfPassengers;
   }
};

int main() {
   Elevator e;
   e.openDoors();
   e.acceptPassengers(5);
   e.requestFloor(3);
   e.closeDoors();
   e.openDoors();
   e.letOffPassengers(1);
   e.acceptPassengers(2);
   e.requestFloor(4);
   e.closeDoors();
   e.openDoors();
   e.letOffPassengers(3);
   return 0;
}

OUTPUT: