Buenas tardes, alguno podria ayudarme con el sig. fragmento de codigo?
Lo que tiene que hacer es acomodar los datos que tenga el archivo por orden de mayor a menor respecto a "promedio"
Asimismo es bienvenida cualquier recomendacion y correcion, muchas gracias!
Lo que tiene que hacer es acomodar los datos que tenga el archivo por orden de mayor a menor respecto a "promedio"
Código [Seleccionar]
void resultados_yai(void)/*Muestra el resultado de todos los morros*/
{
FILE *califas=fopen("Boleta.txt","w");
fptr=fopen("estudiante.dat","rb");/*Abre el archivo de datos para imprimirlo*/
if(fptr==NULL)/*Si no hay ningun dato en el archivo cierra el programa*/
{
printf("\nNo existen datos en el archivo.\n");
}
printf("\t\tEl rival mas debil versión alumnos\n\n");
fprintf( califas,"\t\tEl rival mas debil versión alumnos\n\n");
printf("Control Nombre U I U II U III U IV U V U VI Promedio");
fprintf(califas,"Control Nombre U I U II U III U IV U V U VI Promedio");
printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
fprintf(califas,"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
while ((fread(&boleta,sizeof(boleta),1,fptr))>0)/*Permite la lectura de datos del archivo*/
{
printf("%d %s %d ",boleta.matricula,boleta.nombre,boleta.unidad[0]);
printf("%d %d %d %d ",boleta.unidad[1],boleta.unidad[2],boleta.unidad[3],boleta.unidad[4]);
printf("%d %.2f\n",boleta.unidad[5],boleta.prom);
fprintf(califas,"%d %s %d ",boleta.matricula,boleta.nombre,boleta.unidad[0]);
fprintf(califas,"%d %d %d %d ",boleta.unidad[1],boleta.unidad[2],boleta.unidad[3],boleta.unidad[4]);
fprintf(califas,"%d %.2f\n",boleta.unidad[5],boleta.prom);
}
fclose(fptr);/*Cierra el archivo*/
fclose(califas);
while(getchar()!='\n');
}
Asimismo es bienvenida cualquier recomendacion y correcion, muchas gracias!