[ Foro de C ]

Resolucion Ejercicio

16-Nov-2021 23:23
Invitado (Luquitas Rodriguez)
0 Respuestas

Hola, me entregaron este ejercicio para un examen, como se podria encarar?

La empresa generadora y distribuidora de electricidad Electro, necesita confeccionar las facturas a emitir a sus usuarios.

Se dispone del archivo binario Clientes.dat, ordenado por nro. de cliente, que tiene la sig. estructura:
{ nroCliente: entero, nombre: Cadena(50), fechaUltMedicion: Fecha, valorMedidor: entero, ultMesFacturado: Mes, ultConsumoMes: double }
Existe el archivo Mediciones.txt, ordenado por fecha de medición, el cual tiene la sig. Estructura:
{ nroCliente: cadena, fechaMedicion: fecha, valorMedidor: entero }
Contiene los valores de los medidores de los clientes, al momento de la toma.
Se pide generar el archivo Facturas.dat, con la sig. estructura:
{ nroFactura: entero, nroCliente: entero, fechaUltMedicion: Fecha,
valorMedidor: entero, mesFacturado: Mes, consumoMes: double }

La facturación es mensual, y el programa recibe el próximo nro de factura y los meses que debe facturar.
Puede ocurrir que falten mediciones de algún mes para algunos clientes.
El procedimiento para obtener el valor del consumo del mes es el siguiente:
Se obtiene la diferencia (DM) entre la medición del mes de facturación y la última medición que se registró para el cliente (valorMedidor en el archivo Clientes.dat ó valorMedidor de la factura del mes anterior, lo que sea más reciente).
Se obtiene la diferencia de días (DD) entre las 2 mediciones anteriores.
Se calcula un consumo diario estimado (CDE) = DM / DD.
Se obtiene el consumo del mes (CM) como:
CM = CDE * cant. días del mes de facturación.

Puede ocurrir que no haya medición en el mes de facturación. En ese caso, se utiliza la medición del mes siguiente, si existe. Si no existe, o si ya se utilizó la medición para el cálculo del mes anterior, se calcula el CDE en base al último consumo calculado (ultConsumoMes en el Archivo Clientes.dat ó consumoMes de la factura anterior (Debe ir guardando los últimos consumos del cliente a medida que genera las facturas)):
CDE = consumoMes / cant. días del mes en el que se registró el consumo.

Para la resolución se pide cargar el archivo Mediciones.txt en su totalidad en un TDA Lista implementado en una Lista Dinámica Simplemente Enlazada. No puede hacerlo con los otros 2 archivos.
Se pide también, para procesar las facturas de cada cliente, que se carguen todas las mediciones del cliente actual en otro TDA Lista como el mencionado arriba (Eliminando las mediciones del otro TDA).
No puede recorrer más de una vez las listas.
No puede leer o escribir más de una vez un registro de un archivo.

Espero respuesta, saludos




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)