Salut , j'ai un problème au niveau du tri , ca n'affiche pas les moyennes triées aide svp !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <stdlib.h>
 
typedef struct etudiant{
    char nom[30];
    int cne;
    float note1,note2,moyenne;
}etudiant;
float Moyenne(etudiant e)
{
    return abs((e.note1+e.note2)/2);
}
void saisie(etudiant* info, int n)
{
    int i;
    for(i=0;i<n;i++){
     printf("\n============SAISIE DES INFORMATIONS DU %d ETUDIANT =================\n", i+1);
     printf("Entrer votre nom:\t\n");
     scanf("%s", info[i].nom);
     printf("Entrer votre CNE:\t\n");
     scanf("%d", &info[i].cne);
     printf("Entrer votre 1 NOTE:\t\n");
     scanf("%f", &info[i].note1);
     printf("Entrer votre 2 NOTE:\t\n");
     scanf("%f", &info[i].note2);
     info[i].moyenne=Moyenne(info[i]);
     }
}
 
void tri(etudiant t[] ,int n)
{
    etudiant v;
    int i,j;
    for(i=1; i<n ; i++)
    {
        v=t[i];
        j=i-1;
        while((v.moyenne<t[j].moyenne) && (j>=0))
        {
         t[j+1]=t[j];
         j=j-1;
        }
     t[j+1]=v;
    }
}
void affichage(etudiant* info ,int n)
{
    int i=0;
    while(i<n){
    printf("\n***********AFFICHAGE DES INFORMATIONS DES ETUDIANTS***********\n");
    printf("Votre nom est %s\n", info[i].nom);
    printf("Votre CNE est %d\n", info[i].cne);
    printf("Votre 1 NOTE et 2 NOTE sont %f ET %f\n", info[i].note1, info[i].note2);
    printf("Votre Moyenne est %g\n", info[i].moyenne);
    i++;
    }
}
 main()
{
    etudiant t[20];
   int n,i;
   printf("Entrer le nombre d'etudiants\n");
   scanf("%d", &n);
   etudiant* info=(etudiant*)malloc(sizeof(etudiant)* n);
       saisie(info,n);
       tri(t,n);
       affichage(info,n);
    free(info);
        return 0;
}