Salut tout le monde, je rencontre un problème lors de l'exécution de ce code au niveau du tri par notes. Veuillez m'aidez s'il vous plaît. Merci d'avance.
<code type="c">
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedefstruct{
charnom[40];
charprenom[40];
floatnote;
}fiche;
voidtri_nom(fiche*f);
voidtri_note(fiche*f);
voidtri_nom(fiche*f)
{
inti,j,posit;
chartemp[40];
printf("\n\nTri des noms\n");
for(i=0;i<4;i++)
{posit=i;
for(j=i+1;j<5;j++)
{
if(stricmp(f[j].nom,f[posit].nom)<0)
{
posit=j;
}
}
strcpy(temp,f[i].nom);
strcpy(f[i].nom,f[posit].nom);
strcpy(f[posit].nom,temp);
}
printf("\n\nAffichage du tableau trie par nom\n");
for(i=0;i<5;i++)
{
printf("%s\n",f[i].nom);
}
printf("\n\n");
}
voidtri_note(fiche*f)
{
inti,j,temp;
printf("Tri par note\n");
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if((f[j].note)<(f[i].note))
{
temp=f[j].note;
f[j].note=f[i].note;
f[i].note=temp;
}
}
}
printf("Affichage du tableau trie par note.\n");
for(i=0;i<10;i++)
{
printf("%d\n",f[i].note);
}
printf("\n\n");
}
intmain()
{
fichef[5];inti,j;
printf("Remplissage de fiches de 10 etudiants.\n");
for(i=0;i<5;i++)
{
printf("*******************\n");
printf("Fiche NO %d.\n",i+1);
printf("Nom %d:",i+1);
scanf("%s",&f[i].nom);
printf("Prenom %d:",i+1);
scanf("%s",&f[i].prenom);
printf("Note %d:",i+1);
scanf("%f",&f[i].note);
}
printf("\n\n>*<>*<>*<>*<>*<>*<>*<>*<>*<>*\n\Affichage des 10 fiches.\n");
for(i=0;i<5;i++)
{
printf("***********************\n");
printf("Fiche NO %d\n",i+1);
printf("Nom %d:%s\n",i+1,f[i].nom);
printf("Prenom %d:%s\n",i+1,f[i].prenom);
printf("Note %d:%.2f\n",i+1,f[i].note);
}
tri_nom(&f);
tri_note(&f);
getch();
return0;
}
</code>