Parqueadero

Enunciado

Se quiere construir una aplicación para administrar un parqueadero. Dicho parqueadero tiene 40 puestos enumerados y en cada puesto se puede parquear un carro. Se conoce la hora actual del parqueadero, la cual corresponde a un valor entre 6:00 y 21:00, dado que el parqueadero está abierto desde las 6 de la mañana y cierra a las 9 de la noche. Los carros pueden ingresar únicamente durante las horas de atención, al alcanzarse la hora de cierre se prohíbe el acceso. El parqueadero tiene una tarifa por hora, la cual se utiliza para estimar el valor que deben cancelar los carros según la cantidad de horas que permanecen dentro del parqueadero. Se pueden modificar la hora actual y la tarifa, al avanzar una hora el reloj o ingresar una nueva tarifa. En todo momento, se conoce la lista de carros que están parqueados en el parqueadero.

De cada puesto se conoce:

- El número del puesto. Este es un identificador único, dos puestos no tienen el mismo número.

- El carro que se encuentra parqueado en el puesto actualmente. Un puesto puede estar vacío.

De cada carro se conoce:

- Placa: Identificador único del carro. No puede haber dos carros con la misma placa.

- La marca del carro.

- El modelo del carro.

- La hora de ingreso. 

La aplicación debe permitir:

1. Ingresar un carro al parqueadero.

2. Sacar un carro del parqueadero.

3. Informar los ingresos del parqueadero.

4. Consultar la cantidad de puestos disponibles.

5. Avanzar el reloj del parqueadero.

6. Cambiar la tarifa del parqueadero.

7. Ordenar la lista de carros por su marca.

8. Ordenar la lista de carros por su modelo.

9. Ordenar la lista de carros por su hora de ingreso.

10. Buscar un carro por su placa.

11. Buscar un carro por su hora de ingreso.

Interfaz

 n7_parqueadero

Demo