That's were all the task for the simple lift controller. Below you find a solution for the last task. But there is always room for improvements. Here are just some examples one could do to improve or expand the lift controller:

  • Use more appropriate data structures like a queue
  • Parsing the command-line arguments to determine the requests
  • Change it to work with arbitrary amounts of time-steps
  • Implement different phases like moving to a different floor and waiting at a floor with a State Machine

This is just some ideas we have you could try, if you gathered more experience. For that you could try out the C-Basic course or find coding resources on your own.