Erreurs dans les fonctions [C] - C - Programmation
Marsh Posté le 17-08-2019 à 18:25:45
Je suis le seul à trouver ça pédagogiquement douteux du "faux code à corriger"? Enfin bref.
De manière générale tu peux déjà compiler ton code avec -Wall -Werror -Wextra (pour GCC, à adapter selon ton compilateur) et ensuite le tester. Tu vera que ton code n'est pas bon. Il faut soit passer un pointeur à entierLu() soit prendre en compte la valeur retournée. C'est une première piste, j'essaye de pas faire ton exo à ta place.
Marsh Posté le 18-08-2019 à 20:17:32
Code :
|
La chose la plus évidente c'est que la signature de la première fonction est fausse : en plus du type, le paramètre passé est inutile.
Code :
|
Ensuite, rien ne te dit que scanf a fonctionné correctement.
Code :
|
C'est pas encore parfait, mais ça devrait satisfaire celui qui a posé l'exercice.
Pour être parfait, un printf d'une chaine sans \n final risque de ne pas être flushée, donc un coup de fflush c'est pas plus mal, et comme tu as une boucle, en cas d'erreur, nettoyer stdin avant le nouveau tour de scanf peut être une bonne idée. Bref, on en arrive a ceci, qui est correctement blindé à priori.
Code :
|
Et à cette étape, il manque quoi? la doc!
Code :
|
Je corrige pas le reste, mais le bon code final pourrait ressembler à ceci :
Code :
|
A+,
Marsh Posté le 17-08-2019 à 14:42:19
Salut
, j'ai un exercice sur les fonctions à faire, je l'ai fait, mais je ne suis pas du tout sûr de moi. Est-ce que vous savez m'aiguiller svp ?
Dans la première partie, je dois corriger le code suivant :
Sachant que :
• entierLu permet d’obtenir un nombre entier et de le fournir à la fonction appelante
• sommeCarres permet de calculer la somme des carrés des nombres ∈ [1, entier] et de le fournir à la fonction appelante
• afficheSomme affiche la somme transmise par la fonction appelante
Le bon code selon moi
Et ensuite, je dois faire appel à ces fonctions :
Le bon code selon moi
Merci