Bonsoir a tous ! j'essaie de faire un tp sur les structures et sa fait 48h que je suis bloqué dedans. a la base je voulais créer un programme qui demande le nom et prénom d'un élevé en suite leurs matières, note de chaque matières ainsi que leur coefficient et je pourrais finalement calculer la moyen. j'ai fait un structure qui contient en variable ces informations. Et en suite j'essaie de récupérer dans une boucle les information saisie, mais il n'y que le nom et prénom que j'arrive a récupérer le reste on dirais dirais qu'ils sont écrasés a la seconde boucle. j'ai essayé plusieurs combinaison mais je trouve pas. je travaille sur Code::blocks, V 20.03
Donc je crois qu'un coup de main me sera tellement utile.
voila mon code
c'est ma fonction
ma fonction main
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 void Entre_donnees_general(Eleves *donnees_eleves, int nbrEleve, int nbrMatieres){ for(int i = 0; i<nbrEleve; i++){ getchar(); printf("\n\t ===-Veuillez renseigner les champs suivant de l'eleve %d :-=== \n", i+1); printf("\n\t\t- NOM : "); gets(donnees_eleves[i].nom); fflush(stdin); printf("\n\t\t- PRENOM : "); gets(donnees_eleves[i].prenom); fflush(stdin); for(int j=0; j<nbrMatieres; j++){ printf("\n\t\t- Entrer nom de la matiere %d : ", j+1); getchar(); gets(donnees_eleves[j].matieres); fflush(stdin); printf("\n\t\t- Entrer Moyen : "); scanf("%f", &donnees_eleves[j].noteMoyen); printf("\n\t\t- Son coefficient : "); scanf("%d", &donnees_eleves[j].coef); } }
ma structure
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 case 2: printf("\n\n\t\tCombien d'eleve(s) avez vous ? : "); scanf("%d", &nbr_eleve); // on recupere le nombre d'eleve printf("\n\n\t\tVous avez combien de matiere(s) ? : "); scanf("%d", &nbr_matieres); // on recupere le nombre d'eleve printf("%d", sizeof(Eleves)); if(donnees == NULL){ printf("\n\n\t\t\t\a======= ERREURE !!! \n\t\tImpossible de Charger les donnees======== \n\n"); exit(0); } Entre_donnees_general(donnees, nbr_eleve, nbr_matieres); printf("\n\t\t\t\t Resultats\n\n"); // on affiche les informations lu dans la fonction entre donnees for(int i = 0; i<nbr_eleve; i++){ printf("\n\t\t- %s %s a comme moyen en : ", donnees[i].nom, donnees[i].prenom); for(int j=0; j<nbr_matieres; j++){ printf("\n\t\t- %s : %.2f ", donnees[j].matieres, donnees[j].noteMoyen); } }
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 struct Eleves{ char nom[100]; char prenom[100]; char matieres[20]; int coef[20]; float note1; float note2; float note3; float compos; float moyen; float moyen_general; float noteMoyen[20]; };
Partager