Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2007, 11:49
Angelrhm
 
Fecha de Ingreso: diciembre-2007
Mensajes: 2
Antigüedad: 17 años, 3 meses
Puntos: 0
Exclamación Programa en C

Hola a Todos , Buen dia , estoy elaborando un programa en C , que lea de un archivo de texto , 10 registros , los Ordene alfabeticamente y luego los grabe en otro archivo de texto. la parte que me falta es ordenarlos , tengo el siguiente codigo :

Tengo el Siguiente codigo:

void lectura()
{
clrscr();
p_archivo = fopen("agenda.txt","r");
if (p_archivo==NULL){
printf("\n No Hay archivos para leer, crear un Registro primero");
getch();
}
while(fread(&datos,sizeof(datos),1,p_archivo)!='\0 ')
printf("\n Nombre Direccion Telefono Edad\n");
printf("----------------------------------------------------------------------------\n");
printf("\n-->%-15s %-15s %11s %3i <--\n ",datos.nombre,datos.direccion,datos.telefono,dato s.edad);
printf("\n\n Preciona cualquier tecla para continuar: ");
fclose(p_archivo);
getch();
}

//donde p_archivo es el apuntador al archivo que se declaro en las cabeceras.
//&datos es la estructura donde guardo los datos.
Aqui es donde surge mi duda como paso los datos leidos a una funcion que ordene los datos leidos y luego como los pando a la funcion de escritura??


void grabar()
{
FILE *p_temporal; // p_temporal es el puntero al archivo donde guardare los datos

clrscr();
flushall();
p_archivo = fopen("agenda.txt","r+");
p_temporal = fopen("nuevaagenda.txt","w");
if (p_archivo==NULL || p_temporal==NULL){
printf("Antes de Eliminar un Archivo, Tienes que Crearlo Primero");
getch();
}

while(fread(&datos,sizeof(datos),1,p_archivo)!=NUL L){
fwrite(&datos,sizeof(datos),1,p_temporal);
}
fclose(p_archivo);
fclose(p_temporal);
getch();
}






alguien sabe como hacer la funcion de ordenamiento ?
muchas gracias de Antemano.