elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Como proteger una cartera Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda programa  (Leído 940 veces)
Cachemarra

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda programa
« en: 4 Enero 2016, 08:03 »

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"

Código:
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 por Cachemarra » En línea

fary
Colaborador
***
Desconectado Desconectado

Mensajes: 957



Ver Perfil WWW
Re: Ayuda programa
« Respuesta #1 en: 4 Enero 2016, 10:35 »

Aquí tienes las solución.

https://foro.elhacker.net/programacion_cc/programa_ordenar_numero_mayormenor-t234758.0.html

saludos.


En línea

Un byte a la izquierda.
Cachemarra

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda programa
« Respuesta #2 en: 5 Enero 2016, 05:07 »

Muchas gracias!  ;-)
Por cierto, el siguiente fragmento de codigo, que es exactamente lo que hace?
Código:
while ((fread(&boleta,sizeof(boleta),1,fptr))>0)
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.478



Ver Perfil
Re: Ayuda programa
« Respuesta #3 en: 5 Enero 2016, 09:46 »

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

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Cachemarra

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda programa
« Respuesta #4 en: 6 Enero 2016, 06:43 »

Gracias por la ayuda, ya esta resuelto!
« Última modificación: 6 Enero 2016, 07:13 por Cachemarra » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROGRAMA
Diseño Gráfico
Luisango 1 1,314 Último mensaje 17 Abril 2005, 13:25
por Sub_Cero
ayuda con mi programa
Programación Visual Basic
nitrox 2 1,626 Último mensaje 31 Julio 2005, 00:48
por Slasher-K
ayuda programa!!
Programación C/C++
rodrigo_103 4 2,090 Último mensaje 16 Septiembre 2012, 21:58
por rodrigo_103
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
Zodiak98 1 2,249 Último mensaje 8 Diciembre 2013, 01:51
por Eleкtro
[AYUDA] Ayuda con NETCAT o cualquier otro programa similar
Dudas Generales
Noxware 0 1,147 Último mensaje 16 Junio 2014, 18:13
por Noxware
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines