Se requiere un programa en C++ que permita administrar un parque de diversiones.
Para ello, cree una clase Atraccion que tenga cinco datos miembro: nombre (tipo
string), intensidad (tipo string), altura (tipo int), afluencia (tipo int), espera (tipo int).
Esta clase permitirá manejar los detalles de cada atracción.
Las descripciones de cada dato miembro se indican a continuación:
• nombre: nombre de la atracción.
• intensidad: nivel de emoción.
• altura: estatura mínima permitida (en cm).
• afluencia: número de personas que ingresan en el día.
• espera: tiempo de espera para ingresar a la atracción (en min).
Separe la interfaz pública de la implementación de la misma. Incluya un constructor que
inicialice todos los datos miembro y las correspondientes funciones set y get para cada uno
de los datos miembro.
Realice validación datos miembro de acuerdo al siguiente detalle:
• intensidad: sólo podrá tener los valores “baja”, “media” o “alta”.
• altura: sólo podrá tener los valores 0, 97, 102, 113.
• afluencia: no podrá ser negativa.
• espera: no podrá ser negativa y siempre múltiplo de 5.
Haga un correcto manejo de errores en el ingreso de datos.
Incluya en la clase una función mostrarDatosAtraccion que muestre en pantalla los
datos de cada atracción.
Además, escriba un programa que permita probar la funcionalidad de la clase, solicite al
usuario el ingreso de datos de cinco atracciones y muestre los datos de cada una.
Incluya en dicho programa, no en la clase, una función resumenIntensidad que permita
obtener el número de atracciones por cada intensidad.
Incorpore también en el programa una función reporteAltura que permita obtener el
número de atracciones cuya estatura mínima permitida sea mayor o igual a 102 cm.
Adicionalmente escriba una función tiemposEspera que presente en orden descendente
(del tiempo mayor al menor) el listado de atracciones y sus tiempos de espera.
Escriba una función afluenciaMaxima que imprima en pantalla el nombre de la atracción
con más ingresos por día.
Finalmente, incluya una función que permita actualizar los tiempos de espera de todas las
atracciones (actualizacionEspera), vuelva a llamar a tiemposEspera una vez
actualizados los tiempos.
Muestre en pantalla los resultados de cada una de las funciones mencionadas.