Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Cachemarra

#1
Programación C/C++ / Ayuda programa
4 Enero 2016, 08:03 AM
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"

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!