2010-11-26 20:16:07 UTC
LO Q TENGO Q HACER ES AGARRAR UN ARCHIVO TXT Q CONTIENE LOS DATOS DE EMPLEADOS DE UNA EMPRESA DE LACTEOS ORDENARLOS Y LISTARLOS PARACE SIMPLE NO? EL TEMA ES Q TENGO PROBLEMAS A LA HORA DE LEER EL ARCHIVO ESTOY USANDO A+ PARA Q NO ME SOBRESCRIBA PERO NO ME LO LEE NOSE EL ARCHIVO LE PUSE empleados.txt DONDE TENGO GUARDADOS LOS SIGUIENTES DATOS:
Fulano;Mengano;11041988;1000
Juan;Perez;13061987;1001
Juancho;Talarga;12061990;1002
(aclaro son ejemplos los nombres :P los dos primeros son nombre y apellido luego la fecha de cumple y el legajo)
este es mi codigo
#include
#include
#include
#include
main()
{
FILE*empleados;
empleados=fopen("empleados.txt","a+"); //lee el archivo
char apellido[3][15],nombre[3][15], aux[15];
int dia[3],mes[3],ano[3],i,j,legajo[3];
if(empleados==NULL)
{
printf("No se creo el archivo");
}
else
{
fscanf(empleados,"%s %s %d %d %d %d",&apellido,&nombre,&dia,&mes,&ano,&legajo);
while(!feof(empleados))
{
printf("%s %s \n ",apellido,nombre);
printf("%d %2d %d \n Legajo %d \n",dia,mes,ano,legajo);
fscanf(empleados,"%s %s %d %2d %d %d",&apellido,&nombre,&dia,&mes,&ano,legajo);
}
}
printf("ahora ordenaremos los empleados");
for (i=0; i<3; i++)
{
for (j=0; j<2; j++)
{
if (strcmpi(apellido[i],apellido[j])>0)
{
strcpy(aux,apellido[j]); //ordenamiento
strcpy(apellido[j],apellido [i]);
strcpy(apellido[i],aux);
}
}
}
for(i=0;i<=2;i++)
{
puts(apellido[i]);
puts(nombre[i]);
printf("%d %d %d \n",dia,mes,ano);
printf("Legajo:%d",legajo);
}
fclose(empleados);
getch ();
}
MI MAYOR PROBLEMA ESTA EN LA LECTURA DEL ARCHIVO PORQ CADA VEZ Q LO CORRO ME CREA UNO NUEVO COMO SI NO EXISTIERA Y ACLARO Q ESTOY USANDO A+ Q NO SOBREESCRIBE ELA RCHIVO Y EL ARCHIVO NUEVO Q ME CREA NO TIENE NADA
LES AGRADECERIA Q ME CONTESTARAN PRONTO
OTRA COSA NO USO ESTRUCTURAS PORQ EH VISTE MUCHOS TUTO DONDE SE ES AMS FACIL USANDOLO PERO ACLARO ESO TODAVIA NO LO VI PUES CLARO RECIEN ESTOY EN PRIMER AÑO..UNA SOLUCION SIMPLE PLISSSSS