Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/01/2012, 07:31
Avatar de CapacProg
CapacProg
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: Programa atravesado en C

Hola, lo que se nota de su problema es:
  1. No sabe cuantos registros tiene su archivo, sin embargo su archivo debe de tener un múltiplo de 3 linea(s).
  2. No sabe la estructura donde almacenar los datos al leerlo.
Bien el primer punto no es muy malo ya que se supone que su archivo esta bien formado.
El segundo punto es vital, la forma que le puedo recomendar es crearse un vector de punteros a su tipo de registro con una longitud considerable, suponiendo que de ese tamaño no se va a pasar "nunca", o primero ver cuantos registros tiene en su archivo y luego dinámicamente con la función malloc ponerle longitud (este último forzaría a q lea el archivo al menos dos veces). Una vez ya teniendo la estructura de almacenamiento procede a leer el archivo de 3 en 3 lineas y por cada lectura de 3 lineas declara dinámicamente una variable de su tipo registro (al ser dinámico la forma de extraer memoria para su registro este será un puntero), pone los datos en este y finalmente hace q el primer elemento del vector de punteros apunte a esta variable; el proceso lo repite asi hasta el final, para las líneas que quedan en su archivo.

Si tiene dudas me pregunta, pero al menos intente y postee su código.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%