Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Shatsozzy en Febrero 23, 2013, 04:04:07 PM

Título: [SOLUCIONADO] Ayuda! Imprimir Registros Ordenados en C
Publicado por: Shatsozzy en Febrero 23, 2013, 04:04:07 PM
Buenas!.. tengo un problemita.... Quisiera que los datos me salieran ordenados! uno bajo de otro! cada registro uno bajoa de otro! pero miren lo que pasa aveces ._.! de verdad no tengo ni la menor idea

mostrar()//MOSTRAR DATOS
{
archivo = fopen ("nomina.dat", "rb+");
if (archivo == NULL)
    {
     perror("No se puede abrir nomina.dat");
     getch();
     inicio();
    }
fseek(archivo, 0, SEEK_END);
numeroRegistros = ftell(archivo)/sizeof(nomina);
printf (" REG\tC.I\t\tNOMBRE\t\tDIRECCION\tSUELDO\n"); //imagino q esta aqui el error con las tabulaciones
for (i=0; i<numeroRegistros; i++)
     {
      fseek (archivo, i*sizeof(nomina), SEEK_SET);
      fread (&nomina, sizeof(nomina), 1, archivo);
      printf (" %d\t%s\t%s\t\t%s\t%s\t\n",i+1,nomina.ci,nomina.nombre,nomina.direccion,nomina.sueldo);//imagino q esta aqui el error con las tabulaciones
     }
fclose(archivo);
}


(http://www22.speedyshare.com/Ew9GA/download/Sin-titulo.png)

vean el ultimo sueldo x.x
Título: Re:AYUDA!. Imprimir Registros Ordenados en C
Publicado por: Expermicid en Febrero 23, 2013, 04:21:11 PM
Y el archivo nomina.dat como esta su contenido?

Podrias ponerlo?

Si el error estuviera en la linea que tu dices creeria que no solo lo va a hacer en el ultimo caso sino en todos.

Saludos
Título: Re:AYUDA!. Imprimir Registros Ordenados en C
Publicado por: Shatsozzy en Febrero 23, 2013, 04:29:36 PM
el contenido es:

6.246.354      antonio        guarenas       3265 5.215.654      pedro o        charallave     2344 6.215.325      anotnio        caracas ve     3556

ingrese datos nuevamente por simple curosidad y mira ahora:

(http://www20.speedyshare.com/vuybB/download/Sin-titulosd.png)

y el contenido del archivo es :

2.325.256      jose           caracas        6542 5.325.365      joselo         guarenas       6563 8.245.153      antoni         guatire        3216
Título: Re:AYUDA!. Imprimir Registros Ordenados en C
Publicado por: Shatsozzy en Febrero 23, 2013, 04:35:59 PM
imagino yo q es:

typedef struct {
        char ci[15];
        char nombre[15];
        char direccion[15];
        char sueldo[5];
        } campos;


el sueldo que es el ultimo valor! solo tiene 5 caracteres!.  los demas 15!. ya que cada registro se guardo con sizeof! podria ser eso?
Título: Re:AYUDA!. Imprimir Registros Ordenados en C
Publicado por: Shatsozzy en Febrero 23, 2013, 05:07:20 PM
otra cosa!.. el error ocurre! según la cantidad de caracteres en cada registro!... lleno todos con lo mismo! y salen ordenandos!.