Ejercicios Integradores propuestos para que resuelvan los alumnos.
Sr. Docente. Si Propone un ejercicio distinto a los existentes, por favor escriba en este lugar la consigna.
31. Gestión de Cine Multiformato
Una cadena de cines desea un sistema para gestionar la venta
de entradas a funciones de películas en formato 2D, 3D y 4D. Se debe permitir
registrar los boletos vendidos y administrar las butacas de cada función,
evitando duplicados.
Por cada entrada vendida se debe registrar:
Nombre de la película (no vacío)
Formato: 2D, 3D o 4D
Número de butaca (entero positivo y único por
película y formato)
El programa debe presentar el siguiente menú:
Registrar una venta:Se debe
invocar a la función registrar_venta, que recibe como argumentos el
diccionario de ventas, el nombre de la película, el formato y el número de
butaca. Registra la venta si la butaca no está ocupada. Devuelve Truesi
se pudo registrar, oFalse si ya estaba ocupada. El valor devuelto debe
utilizarse para mostrar un mensaje indicando si la operación fue exitosa o no.
Cancelar una venta:Se debe
invocar a la función cancelar_venta, que recibe el diccionario de
ventas, el nombre de la película, el formato y el número de butaca. Si la venta
existe, la elimina y devuelve True. Si no se encuentra, devuelve False.
El valor debe utilizarse para informar si se logró cancelar la venta.
Mostrar ventas por película:Se debe
invocar a la función ventas_por_pelicula, que recibe el diccionario de
ventas y el nombre de la película. Devuelve un diccionario con los
formatos como claves y las listas de butacas vendidas como valores. El
resultado debe mostrarse al usuario.
Mostrar tipo de formato más vendido:Se debe
invocar a la funciónformato_mas_vendido, que recibe el diccionario de
ventas y devuelve el formato (2D, 3D o 4D) con más entradas vendidas. Ese valor
debe mostrarse por pantalla.
Resumen del día:Se debe
invocar a la función resumen_diario, que recibe el diccionario de ventas
y muestra por pantalla: la cantidad total de boletos vendidos y una lista
detallada de todas las ventas indicando película, formato y butaca.
Mostrar todas las butacas ocupadas por
formato:Se debe
invocar a la función mostrar_todas_las_butacas, que recibe el
diccionario de ventas. Esta función, internamente, debe invocar aventas_por_pelicula
para cada película registrada. El resultado debe mostrarse agrupado por formato
(2D, 3D, 4D), indicando qué butacas están ocupadas y a qué película pertenecen.
Salir del programa.
Nota: Todas las entradas deben ser validadas.
En caso de error o valores inválidos, solicitar el reingreso correspondiente.
Cualquier opción ingresada que no corresponda al menú se debe solicitar reingreso
y volver al menú principal.