BifaceMcLeOD The HighGlandeur | - Dans saisieNOMS(), le point-virgule à la fin du "for" est de trop (et ça, ça s'appelle un bug, pas une erreur de compilation...)
- Définis quand même 2 constantes globales NUM_ELEVES et NUM_NOTES_PAR_ELEVE (qui ici valent 5 et 5), ça serait un peu vraiment plus clair...
- Les paramètres de fonction de type tableau sont tous définis de façon incorrecte. En C, on n'écrit pas "void calculMOY(int [5][5] notes, char*[5] noms)", mais "void calculMOY(int notes[5][5], char* noms[5])". Je sais, ton écriture semblait plus logique, mais cela fait partie des incohérences du langage C.
- Je te rappelle qu'en général, pour calculer une moyenne, on fait la somme de toutes les notes et, à la fin (et seulement à la fin), on divise par le nombre de notes. Toi, tu fais la somme des notes divisées par le nombre de notes au lieu de faire la somme des notes divisée par le nombre de notes : "n1/N + n2/N + n3/N + n4/N + n5/N" au lieu de "(n1 + n2 + n3 + n4 + n5) / N". Tu vas me dire mathématiquement, c'est strictement équivalent, mais pas de bol, pour un ordinateur qui travaille sur des nombres à virgule flottante, ce n'est pas du tout équivalent.
- Il manque un point-virgule lors de l'appel à saisieNOMS(), dans le main.
- Je peux déjà te dire que tu auras un gros plantage quand tu vas saisir le nom des élèves : l'espace mémoire nécessaire pour les stocker n'est pas alloué. Pour résoudre le problème, il te faut utiliser new() ou utiliser un tableau plutôt qu'un pointeur.
- Tu as un sérieux problème d'indentation de code. Présenter correctement ton code est une nécessité si tu veux qu'on puisse facilement le comprendre. Je te donne un exemple à partir de ton propre code :
Code :
- void calculMOY(int notes[5][5], char* noms[5])
- {
- cout << "VOICI LA MOYENNE DE CHAQUE ELEVE \n";
- // Boucle des élèves
- for (int iEleve = 0; iEleve < 5; iEleve++) {
- float moyenne = 0;
- // Boucle des notes
- for (int iNote = 0; iNote < 5; iNote++) {
- x += notes[iEleve][iNote];
- }
- moyenne /= (float) 5;
- cout << "La moyenne de " << noms[i] << " est de: " << moyenne << "\n";
- }
- }
|
Le but de bien présenter le code est que la structure du code soit clairement identifiable en voyant le code sans avoir à lire le détail du code. L'indentation du code est là pour mettre en valeur la structure du code.
- Tu a aussi un problème de nommage de tes variables. Il faut absolument que tu choisisses des noms de variables plus significatifs de ce qu'elles sont censées contenir (y compris pour les variables locales). J'ai également changé cela dans l'exemple ci-dessus pour essayer de te donner quelques idées.
[edtdd]--Message édité par BifaceMcLeOD--[/edtdd]
|