this is the instructions :
Before writing the actual â€˜runâ€™ function of the elevator, write two functions for the elevator class that will be necessary for the run function to operate correctly. First, you will need to be able to search the array of passengerâ€™s destinations and return the next floor the elevator needs to stop at. Next, you will need to be able to search the passenger array and see which passenger(s) need to exit at the current stop.
1. Clean up the code from last time by creating a #define for the maximum number or passengers. This helps by allowing you to change a number in one location, rather than all over your code to modify the maximum number of passengers. In â€˜Elevator.hâ€™ after the #include, add #define MAX_PASSENGERS 5. Then, everywhere that the number 5 was used in loops and if statements, change it to MAX_PASSENGERS.
2. Add a function to the Elevator class definition called â€˜findNextFloorâ€™. This function does not need any input arguments, but should return the integer value of the next floor, based on the passenger destinations.
3. Add a function to the Elevator class definition called â€˜findNextPassengerâ€™. This function requires an input argument of the current floor of the elevator. It should return the index of the passenger array of a passenger that needs to get off at that floor passed as the input argument. If no passengers are getting off at this floor, it should return the value -1.
4. Next, switch to the â€˜[url removed, login to view]â€™ file to add the implementation of these two functions.
5. The function â€˜findNextFloorâ€™ needs to search through the passenger[ ] array and find which passenger has the lowest destination floor. This value needs to be returned from the function. This can be accomplished with a FOR-LOOP incrementing through each index of the array, keeping track of the smallest value.
6. The function â€˜findNextPassengerâ€™ needs to have an input argument of a certain floor. The function will search through the passenger array, and when it finds a passenger whose destination matches the input floor, it will return that passengerâ€™s index in the array. This can be accomplished with a FOR-LOOP also that increments through each index of the array until it finds a match and returns that index. If no match is found the function should return -1, signaling that no more passengers are getting off at this floor.
7. Now, go back to the Elevator class definition and add a function called â€˜runElevatorâ€™. This function does not need any input arguments or return value.
8. Switch back to the Elevator class implementation to implement the â€˜runElevatorâ€™ function. This is the function that will deliver all the passengers to their desired floors. Take a look at the pseudo code below to help visualize the approach to doing this
If there are passengers
While there are passengers
-find the next floor to stop at
-move the elevator to that floor
-display a message saying the next stop
While there are passengers that need to exit at this floor
-find the next passenger that needs to exit
-display a message saying which person exited
-mark that spot in the elevator as empty
-decrement the number of passengers
-display the current elevator information
-reset elevator to first floor
Display an error message saying there are no passengers
9. After creating the â€˜runElevatorâ€™ function, go to the main function and add a third menu option for running the elevator. This is as simple as calling your Elevator class function â€˜runElevatorâ€™ after the user selects option 3. Also, test when you change MAX_PASSENGERS to a different number.