Anda di halaman 1dari 1

Ejercicio resuelto

de

programacion utilizando funciones

#include <stdio.h>
struct Postulante {
char nombre[60];
float P1;
float P2;
float P3;
float total;
float nota;
int merito;
};
main() {
struct Postulante FIC[61],t;
int i,j;
FILE *a;
a = fopen("ORDI2014-1.FIC","r");
for(i=1;i<=60;i++) {
fgets(FIC[i].nombre,36,a);
fscanf(a,"%f%f%f",&FIC[i].P1,&FIC[i].P2,&FIC[i].P3);
fscanf(a,"%f%f",&FIC[i].total,&FIC[i].nota);
// FIC[i].total=FIC[i].P1+FIC[i].P2+FIC[i].P3;
// FIC[i].nota=20*FIC[i].total/1600;
fscanf(a,"%d\n",&FIC[i].merito);
}
for(i=1;i<=59;i++)
for(j=1;j<=60-i;j++)
if(FIC[j].merito>FIC[j+1].merito) {
t=FIC[j];
FIC[j]=FIC[j+1];
FIC[j+1]=t;
}
for(i=1;i<=60;i++) printf("%s\n",FIC[i].nombre);
printf("\n\n");
for(i=1;i<=59;i++)
for(j=1;j<=60-i;j++)
if(strcmp(FIC[j].nombre,FIC[j+1].nombre)>0) {
t=FIC[j];
FIC[j]=FIC[j+1];
FIC[j+1]=t;
}
for(i=1;i<=60;i++) printf("%s\n",FIC[i].nombre);
}

Anda mungkin juga menyukai