Cupi Trenes

Enunciado

La empresa ferroviaria CupiTrenes necesita un programa para manejar la venta de tiquetes de sus trenes en un día. Un usuario puede buscar un tren que pasa por una ciudad origen y destino, y escoger el vagón donde desea viajar y comprar el tiquete. 

Del tren se conoce:

- El identificador del tren. Este identificador debe ser único.

- La lista de vagones que lo conforman.

- La cantidad de dinero recaudado por venta de tiquetes en sus vagones.

- La lista de paradas que hace. La parada contiene la información de su nombre y el horario de llegada del tren a la misma.  Del vagón se conoce:

- El número del vagón. Este debe ser único en un mismo tren.

- El precio del tiquete de ese vagón.

- La cantidad total de sillas.

- La cantidad disponible de sillas a la venta, cada vez que se vende un tiquete, se disminuye esta cantidad.

- La clase del vagón que puede ser: primera clase, segunda clase, clase de negocios o clase VIP.  

 

Para la aplicación, es importante tener en cuenta las siguientes consideraciones:

- Un tren solamente hace un recorrido al día.

- Las paradas en cada tren están organizadas ascendentemente por horario de llegada del tren.

- De igual manera, los trenes están organizados ascendentemente por el horario de llegada del tren a la primera parada.

 

Se requiere que la aplicación permita:  

1. Visualizar la información de un tren. Esta información incluye: el identificador del tren, su primera parada, su última parada y la cantidad total de paradas que hace.

2. Navegar por la lista de trenes.

3. Buscar un tren que pase por dos ciudades dadas.

4. Visualizar todas las paradas de un tren.

5. Agregar un tren. Al agregar el tren, de una vez se agregan todas sus paradas, pero no se agregan vagones.

6. Eliminar una ruta de tren.

7. Visualizar la información de un vagón. Esta información incluye: su número, la clase, la cantidad total de sillas, la cantidad de sillas disponibles para la venta y el dinero recaudado por venta de tiquetes.

8. Navegar al siguiente vagón de la lista de un tren dado.

9. Navegar al primer vagón de la lista de un tren dado.

10. Agregar un vagón a un tren dado.

11. Eliminar un vagón de un tren dado.

12. Vender el tiquete de un vagón dado de un tren dado.

13. Visualizar la información consolidada de CupiTrenes, esta información incluye la cantidad de dinero recaudado por venta de tiquetes en todos sus trenes y la cantidad de sillas disponibles de todos los vagones de todos sus trenes.

14. Generar un reporte con la información general y específica de las ventas de tiquetes.

Interfaz

 n9 cupiPalooza