Ayuda en C++

Iniciado por emakapo, 9 Noviembre 2019, 20:21 PM

0 Miembros y 1 Visitante están viendo este tema.

emakapo

Buenas, tengo que realizar un trabajo en C++ venia bien con los ejercicios de listas de adyacencia hasta que me dieron un trabajo practico de Archivos, se me complico entenderlo. No estoy pidiendo que me lo hagan.
Alguien me puede ayudar a plantear el ejercicio?
Para los pisos del estacionamiento seria un arreglo de listas? Osea de tipo nodo?
Si me pudieran dar una ayuda por favor se los agradecería, muchas gracias.

Problema:
Una empresa de estacionamiento cuenta con 4 pisos con capacidad para 10 autos cada uno. Trabaja con clientes mensuales, no más del 40% de la capacidad total de estacionamiento. Desea llevar el registro tanto de los clientes mensuales, como de lo recaudado diariamente.
Elabore un programa que mediante un menú permita realizar las siguientes actividades:
1. Agregar un nuevo cliente (no repetido y además no se haya superado la cantidad máxima permitida)
2. Eliminar un cliente (pasa a estado inactivo)
3. Mostrar los clientes mensuales activos
4. Ver estado de cada piso (Vacío/lleno/con k autos)
5. Estacionar auto (Tener en cuenta si el auto solicitado pertenece o no a un cliente mensual. Debe indicarse al cliente, el piso donde estacionarse)
6. Retirar un auto de un piso determinado (si el auto solicitado pertenece a un cliente mensual, no se tiene en cuenta para el monto diario. Caso contrario debe indicarse el monto a pagar)
7. Mostrar todos los autos estacionados en un piso determinado
8. Salir del programa

Consideraciones:
• Para registrar a los clientes mensuales, se utilizará un archivo CLIENTES con la siguiente información: DNICliente, PatenteAuto, Tarifa a pagar, Fecha de Ultimo pago, Estado (activo, inactivo).
• Para registrar la recaudación diaria, se utilizará un archivo RECAUDACION, en el cual registrará: fecha, monto recaudado, cantidad de autos mensuales, cantidad de autos no mensuales, pisos habilitados
• Para controlar el movimiento diario de autos se utilizará una lista de adyacencia, en la cual se
registrará: patente, hora de estacionamiento, hora de retiro. Los autos mensuales siempre se
estacionan en los pisos más altos. Con motivo de mantener un equilibrio de la carga de cada piso, no
debe superarse una diferencia de 3 autos entre cada piso.

Notas:
a) Al iniciar la actividad del día, el programa deberá solicitar, 2 datos:
• El monto de la tarifa por hora.
• Pisos habilitados
b) Al salir del programa, debe:
i. Actualizarse el archivo RECAUDACIÓN, tal que se almacene el monto total recaudado en el día,
y la cantidad de autos que utilizaron el servicio.
ii. Mostrar la información de los archivos CLIENTES y RECAUDACIÓN.
c) Incorpore cualquier consideración que estime necesaria para optimizar su trabajo.


@XSStringManolo

No sabemos ni los temas que has estudiado, ni los que estás estudiando. Que se supone que son con los que tienes que hacer la tarea no?

Has hecho algo de la tarea? Qué se te complicó entender? Los archivos? Busca en cppreference fstream y ahí te lo explican. Tiene la misma dificultad que el cin cout.

Intentar hacer las cosas ayuda a hacer las cosas.