Buenas, practicando para un parcial de Cuello me encuentro con este ejercicio, y todavia no le tengo mucha mano la practica de listas. Masomenos los ejercicios tienen la misma idea, asi que les pido una mano con este:
Cita:27. Una empresa prestadora de servicios de internet, requiere facturar a sus usuarios y para ello dispone de los siguientes archivos :
a) CONEXIONES (orden cronológico), en el que cada registro contiene : Día del mes (1 a 31), Número de usuario (8 díg.), Código de destino (16 car.), Cantidad de minutos (3 díg.).
b) CATEGORIA (sin orden), en el que cada registro contiene : Categoría, Minutos sin cargo (4 díg.), Importe de abono, Importe por minuto adicional.
c) USUARIOS (ordenado por usuario), en el que cada registro contiene : Número de usuario, Apellido y Nombre (34 car.), Domicilio (49 car.), Categoría (2 díg.).
Desarrollar la estrategia, algoritmo y codificación del programa que :
1. Imprima la factura de cada usuario (ordenado por su número), según se indica:
USUARIO NRO.: 99999999 APELLIDO Y NOMBRE : X(34)
DOMICILIO : X(49)
ABONO (999 minutos sin cargo) 999.99
ADICIONAL 999 x imp.adic. + 999.99
TOTAL 9999.99
2. Imprima ordenado por código de destino y día todas las conexiones individuales de usuarios que duraron más de 360 minutos, según se indica:
CODIGO DE DESTINO: X(16)
DIA APELLIDO Y NOMBRE USUARIO MINUTOS
99 X(34) 9999
NOTA : Hay 130 Kb. de memoria estática. Nodo máximo = 8 bytes. No hay espacio en disco. Cantidad máxima de destinos 5000.
Al parecer tengo que trabajar con listas y sublistas.
En paint hice un diagrama de como pienso que es la estructura, lo mas probable es que me este equivocando asi que escucho opiniones:
Entonces lo que deberia hacer es procesar el archivo de USUARIOS y crear una lista principal, agregando un campo SubLista.
Tambien deberia procesar el archivo de CONEXIONES, y crear subNodos en la subLista, debajo del 'Numero Usuario' correspondiente.
El archivo de Categoria solo me sirve como informacion para hacer el listado?
Cualquier opinion o consejo es bienvenida.
Gracias!