Bonjour à tout le monde
j'ai un problème à résoudre mais je j'ai trouvé devant moi quelques obstacles.
J'ai essayé de faire un programme en C qui permet de gérer les nom, les notes et leurs moyennes en utilisant une structure et des fonctions.
Je vous donne ma réponse.
et merci pour votre aide.

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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <stdio.h>
#include <stdlib.h>
 
typedef struct {
char nom[15];
char prenom[15];
int identifiat;
float note[6];
float moyenne;
}Etudiant;
int i,j;
// fonction et procedure
 
void saisie(Etudiant *E,int nbE){
  for(i=0;i<nbE;i++){
    printf("\n\t\t************ L'information de l'etudiant %d\n",i+1);
    printf("\n donnenr le nome :");
    scanf("%s",E[i].nom);
    printf("\n donnenr le prenome :");
    scanf("%s",E[i].prenom);
    printf("\n donnenr CNE  :");
    scanf("%d",&E[i].identifiat);
    for(j=0;j<6;j++){
        printf("donner la note du module %d:",j+1);
        scanf("%f",&E[i].note[j]);
    }
 
   }
 
 
}
void affiche(Etudiant *E,int nbE){
    printf("\n***************************************************************\n");
    printf("Nom\tprenom\tNote1\tNote2\tNote3\tNote1\tNote2\tNote3\tMoyen\n");
  for(i=0;i<nbE;i++){
 
     printf("\n%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f",E[i].nom, E[i].prenom, E[i].note[0], E[i].note[1], E[i].note[2], E[i].note[3], E[i].note[4], E[i].note[5], calculMoyen(E,nbE));
 
     printf(" \nla moyenne des moyennes de %d Etudiant  est :%.2f\n",nbE,moyClasse(E,nbE));
     printf(" \nle nombre d'etudiants ayant la moyenne superieure a 10 est :%d\n",etudiantSup(E,nbE));
     printf(" \nle nombre d'etudiants ayant la moyenne inferieure a 10 est :%d\n",etudiantInf(E,nbE));
     printf("\n***************************************************************\n");
 
 
  }
  return 0;
}
 
float calculMoyen(Etudiant *E,int nbE){
    float somme;
for(i=0;i<nbE;i++){
    somme=0.0;
    for(j=0;j<6;j++){
 
        somme+=E[i].note[j];
 
    }
     E[i].moyenne=somme/2;
 
   }
 
   return E[i].moyenne;
}
int etudiantSup(Etudiant *E,int nbE){
    int nbSup=0;
 
for(i=0;i<nbE;i++){
 
    if(calculMoyen(E,nbE)>=10.0){
        nbSup++;
 
    }
 
}
  return nbSup;
}
int etudiantInf(Etudiant *E,int nbE){
    int nbInf=0;
 
for(i=0;i<nbE;i++){
 
    if(calculMoyen(E,nbE)<10.0){
        nbInf++;
 
    }
 
}
  return nbInf;
}
float moyClasse(Etudiant *E,int nbE){
float moyDemoy;
float somme=0.0;
 for(i=0;i<nbE;i++){
    somme+=calculMoyen(E,nbE);
 }
 moyDemoy=somme/nbE;
 return moyDemoy;
}
 
int main()
{
    Etudiant E[20];
    int nbE;
 
 
printf("donner le nombre d'etudiant: ");
scanf("%d",&nbE);
saisie(E,nbE);
system("cls");
calculMoyen(E,nbE);
etudiantSup(E,nbE);
etudiantInf(E,nbE);
affiche(E,nbE);
 
 
 
    return 0;
}