cs_Chouchou182
Messages postés252Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention25 avril 2011
-
24 avril 2010 à 18:12
papou144
Messages postés2Date d'inscriptionlundi 30 novembre 2009StatutMembreDernière intervention22 mai 2010
-
22 mai 2010 à 18:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
papou144
Messages postés2Date d'inscriptionlundi 30 novembre 2009StatutMembreDernière intervention22 mai 2010 22 mai 2010 à 18:58
excellent.............
cs_Chouchou182
Messages postés252Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention25 avril 20111 24 avril 2010 à 18:12
Salut,
Quelques remarques (suggérées par un compilateur):
Lignes 51 et 52, il y a deux if et ligne 58 un else; à quel if se rapporte-t-il ? Je sais qu'il y a une réponse, mais on risque toujours de se tromper. Alors autant mettre des accolades !
Ligne 119, une variable k est déclarée; jamais utilisée.
Ligne 170, une fonction inconnue est appelée. Peut-être est-elle connue de dev-C++ mais celui-ci est obsolète...
Enfin, la fonction main DOIT retourner un int (puisqu'elle est déclarée int main())...
---
Venons-en à scanf.
«[scanf] renvoie[...] le nombre d'éléments d'entrées correctement mis en correspondance et assignés. Ce nombre peut être plus petit que le nombre d'éléments attendus, et même être nul, s'il y a une erreur de mise en correspondance.» (le manuel)
Conclusion, il FAUT vérifier quelle est la valeur retournée.
Si l'utilisateur fait une erreur de saisie, le programme peut «boucler» indéfiniment. C'est fâcheux.
---
Dans le cas 5 (du switch principal), il me semble que
z=detruire(z);
serait plus adéquat qu'un simple
detruire(z);
---
Une dernière remarque pour la route. La fonction Supprdebut est-elle récursive à dessein ? Que penserais-tu d'une version récursive comme toutes les autres ?
Ce code servirait encore mieux le néophyte s'il était agrémenté de quelques commentaires.
22 mai 2010 à 18:58
24 avril 2010 à 18:12
Quelques remarques (suggérées par un compilateur):
Lignes 51 et 52, il y a deux if et ligne 58 un else; à quel if se rapporte-t-il ? Je sais qu'il y a une réponse, mais on risque toujours de se tromper. Alors autant mettre des accolades !
Ligne 119, une variable k est déclarée; jamais utilisée.
Ligne 170, une fonction inconnue est appelée. Peut-être est-elle connue de dev-C++ mais celui-ci est obsolète...
Enfin, la fonction main DOIT retourner un int (puisqu'elle est déclarée int main())...
---
Venons-en à scanf.
«[scanf] renvoie[...] le nombre d'éléments d'entrées correctement mis en correspondance et assignés. Ce nombre peut être plus petit que le nombre d'éléments attendus, et même être nul, s'il y a une erreur de mise en correspondance.» (le manuel)
Conclusion, il FAUT vérifier quelle est la valeur retournée.
Si l'utilisateur fait une erreur de saisie, le programme peut «boucler» indéfiniment. C'est fâcheux.
---
Dans le cas 5 (du switch principal), il me semble que
z=detruire(z);
serait plus adéquat qu'un simple
detruire(z);
---
Une dernière remarque pour la route. La fonction Supprdebut est-elle récursive à dessein ? Que penserais-tu d'une version récursive comme toutes les autres ?
Ce code servirait encore mieux le néophyte s'il était agrémenté de quelques commentaires.
Bonne prog.