Título: Colas en C++ Publicado por: JesusIII en 21 Abril 2016, 13:44 pm Hola, hace poco que me han enseñado el tema de las colas y ahora tengo que hacer una practica. Se hacer las funciones del tipo: "encolar","imprimir"...
Hasta ahora he hecho colas simples en las clases prácticas, pero esta última no se ni por donde empezar. El enunciado empieza así: En dicha ITV existirán 4 colas para diferentes tipos de vehículos: - Gasolina (vehículos de gasolina) - Diesel (vehículos diesel no industriales) - Motos - Industriales Cada segundo de ejecución, que representará 10 minutos de tiempo real, llegará un vehículo a la ITV. Dicho vehículo tendrá una serie de datos que habrá que guardar: matrícula, marca, modelo, potencia, tipo (G,D,M,I), hora_llegada, hora_salida, fecha, estado_ITV… Los datos se podrán generar aleatoriamente. ¿Como empiezo? Gracias de antemano. Título: Re: Colas en C++ Publicado por: ivancea96 en 21 Abril 2016, 13:59 pm Pues podrías hacer una clase o estructura para guardar los datos de cada coche.
Luego, hacer 4 colas que almacenen datos de la clase o estructura mencionada. Y finalmente, ir generando coches, y meténdolos en cada cola. Título: Re: Colas en C++ Publicado por: HardForo en 21 Abril 2016, 14:06 pm Cada tipo de vehiculo queda encolado aparte porque requeririan distinto combustible y/o condiciones especiales o sea.... tienes 4 tipos de vehiculos = colas, te explico:
Dentro de un bucle infinito del tipo while(true) tienes una funcion que genera vehiculos al azar con distintas caracteristicas (matrícula, marca, modelo, potencia, tipo, hora_llegada, hora_salida, fecha, estado_ITV..) que puedes guardar en un objeto o struct Vehiculo. Digamos se generan asi: moto, Yamaha, modelo......, potencia 200 cm3,.... moto,....,.... moto,....,.... moto,....,.... moto,....,.... moto,....,.... moto,....,.... vehiculo a gasolina, Ford, modelo T, ...... vehiculo diesel no-industrial vehiculo diesel industrial moto ... El primero que generas tienes que atenderlo primero......... por eso usas una cola pero dentro de su categoria porque no puedes atender una moto más si tienes 20 encoladas (se asume que se puede atender 1 tipo de vehiculo a la vez y no mas) Entonces..... Verificas si la cola correspondiente (motos por ejemplo) esta vacia.. y si lo esta atiendes a ese vehiculo (moto). Sino esta vacia, atiendes al que espera en la cola y encolas al recien llegado. Algo asi: Código
Te dejo la tarea de implementar GeneraVehiculo() y atender() Título: Re: Colas en C++ Publicado por: JesusIII en 21 Abril 2016, 14:23 pm Gracias por la ayuda, enserio. Pero he olvidado mencionar que el profesor a prohibido usar librerías de colas.
Título: Re: Colas en C++ Publicado por: HardForo en 21 Abril 2016, 14:29 pm La logica es la misma....... o acaso piensas implementar una cola que no tenga un push(), pop() o un empty() ?
Debes fijarte que metodos de minima necesitas e implementarlos....... |