Autor
|
Tema: Ayuda programa (Leído 1,842 veces)
|
Cachemarra
Desconectado
Mensajes: 3
|
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!
|
|
« Última modificación: 6 Enero 2016, 07:14 am por Cachemarra »
|
En línea
|
|
|
|
fary
|
|
|
|
En línea
|
Un byte a la izquierda.
|
|
|
Cachemarra
Desconectado
Mensajes: 3
|
Muchas gracias! Por cierto, el siguiente fragmento de codigo, que es exactamente lo que hace? while ((fread(&boleta,sizeof(boleta),1,fptr))>0)
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Lée, desde el archivo apuntado por fptr, 1 dato del tamaño del objeto boleta y li mete en el objeto boleta. Si ha leído 1 byte o mas while ejecutará su código asociado.
Para solucionar tu problema puedes crear una lista enlazada en la que iras metiendo los datos qur pilles del archivo, después le das esa lista a una función que te los ordene. O con la misma lista creas un array dinámico con tantos elementoa tengas en la lista y se lo das a la función de librería estándar qsort para que te lo ordene.
|
|
|
En línea
|
|
|
|
Cachemarra
Desconectado
Mensajes: 3
|
Gracias por la ayuda, ya esta resuelto!
|
|
« Última modificación: 6 Enero 2016, 07:13 am por Cachemarra »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
AYUDA CON PROGRAMA
Diseño Gráfico
|
Luisango
|
1
|
2,443
|
17 Abril 2005, 13:25 pm
por Sub_Cero
|
|
|
ayuda con mi programa
Programación Visual Basic
|
nitrox
|
2
|
2,343
|
31 Julio 2005, 00:48 am
por Slasher-K
|
|
|
ayuda programa!!
Programación C/C++
|
rodrigo_103
|
4
|
3,360
|
16 Septiembre 2012, 21:58 pm
por rodrigo_103
|
|
|
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
|
Zodiak98
|
1
|
6,112
|
8 Diciembre 2013, 01:51 am
por Eleкtro
|
|
|
[AYUDA] Ayuda con NETCAT o cualquier otro programa similar
Dudas Generales
|
Noxware
|
0
|
2,172
|
16 Junio 2014, 18:13 pm
por Noxware
|
|