BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 2 déc. 2008 à 08:52
coucou++
Dans toute autre discipline, on trouve normal de s'instruire devant un bouquin qui à tout coup ne sera pas écrit par un débutant.
En info, un débutant devrait apprendre les erreurs d'un autre débutant, c'est unr complète ineptie.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 1 déc. 2008 à 20:13
Salut,
C'est vrai coucou747 aucun risque. Un autre problème: il y'a plusieurs malloc() mais pas un seul free().
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 1 déc. 2008 à 10:39
qu'il le soumette pour s'ameliorer, ok. mais dire que c'est utile aux debutants, c'est exagere...
ta remarque sur les pointeurs tiendrait si c'etait un pointeur vers la pile (return &variable_locale;) ici, c'est un return truc_sur_le_tas, donc c'est sans risque.
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 1 déc. 2008 à 08:36
Salut,
Pour ma part je pense que de publier son code est une bonne chose. Ca permet de le soumettre à un avis plus global et d'en retirer le meilleure.
Une chose qui me "choque" dans ton code concerne l'utilisation des pointeurs.
Exemple :
Etudiant * init_etudiant()
{
Etudiant * e = ....;
[...]
return e;
}
Ta fonction retourne un pointeur qui a été instancié et intialisé dans cette même fonction... Tu ne dois pas faire ca, car ton pointeur est declaré dans ta fonction et de ce fait il n'est valide que dans cette fonction. Tu n'es donc pas sure à 100% du retour de ta fonction.
Pour corriger ce problème, il vaut mieux passer passer un paramètre de sortie à ta fonction... Exemple :
Etudiant * init_saisie(Etudiant * e)
{
if(e != NULL)
{
e->age = 10; // ici tu implémentes ton code
}
return e;
}
=> Dans ce cas précis le retour se fait sur le paramètre de sortie donc aucun soucis pour la suite. Tu peux te servir soit du retour de la fonction soit du paramètre.
Bon courage et n'hésites pas à corriger ton code histoire qu'on t'aide à t'améliroer si tu le désires.
Shell
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 1 déc. 2008 à 00:50
salut
najnoujj, je doute qu'un code plein d'erreurs puisse aider un etudiant qui debute en Cpp...
ton code est un melange de C et de Cpp, c'est loin d'etre propre.
najnoujj
Messages postés8Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention 5 novembre 2011 30 nov. 2008 à 22:33
Merci pour votre commentaire, justement ce code est destiné au étudiant qui débute le c++, bon courage à toi aussi.
cs_omnia
Messages postés240Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention22 mars 2009 30 nov. 2008 à 19:08
Bonjour,
sans être méchant, la publication de ce code n'apporte pas grand choses.
c'est en général les TP que l'on fait lorsque l'on commence la dev, ce genre de sources sont déjà très répandus.
2 déc. 2008 à 08:52
Dans toute autre discipline, on trouve normal de s'instruire devant un bouquin qui à tout coup ne sera pas écrit par un débutant.
En info, un débutant devrait apprendre les erreurs d'un autre débutant, c'est unr complète ineptie.
1 déc. 2008 à 20:13
C'est vrai coucou747 aucun risque. Un autre problème: il y'a plusieurs malloc() mais pas un seul free().
1 déc. 2008 à 10:39
ta remarque sur les pointeurs tiendrait si c'etait un pointeur vers la pile (return &variable_locale;) ici, c'est un return truc_sur_le_tas, donc c'est sans risque.
1 déc. 2008 à 08:36
Pour ma part je pense que de publier son code est une bonne chose. Ca permet de le soumettre à un avis plus global et d'en retirer le meilleure.
Une chose qui me "choque" dans ton code concerne l'utilisation des pointeurs.
Exemple :
Etudiant * init_etudiant()
{
Etudiant * e = ....;
[...]
return e;
}
Ta fonction retourne un pointeur qui a été instancié et intialisé dans cette même fonction... Tu ne dois pas faire ca, car ton pointeur est declaré dans ta fonction et de ce fait il n'est valide que dans cette fonction. Tu n'es donc pas sure à 100% du retour de ta fonction.
Pour corriger ce problème, il vaut mieux passer passer un paramètre de sortie à ta fonction... Exemple :
Etudiant * init_saisie(Etudiant * e)
{
if(e != NULL)
{
e->age = 10; // ici tu implémentes ton code
}
return e;
}
=> Dans ce cas précis le retour se fait sur le paramètre de sortie donc aucun soucis pour la suite. Tu peux te servir soit du retour de la fonction soit du paramètre.
Bon courage et n'hésites pas à corriger ton code histoire qu'on t'aide à t'améliroer si tu le désires.
Shell
1 déc. 2008 à 00:50
najnoujj, je doute qu'un code plein d'erreurs puisse aider un etudiant qui debute en Cpp...
ton code est un melange de C et de Cpp, c'est loin d'etre propre.
30 nov. 2008 à 22:33
30 nov. 2008 à 19:08
sans être méchant, la publication de ce code n'apporte pas grand choses.
c'est en général les TP que l'on fait lorsque l'on commence la dev, ce genre de sources sont déjà très répandus.
bon codage.