Calcul matriciel, polynomial, équations différentielles, équations aux dérivées partielles, calculs de zéros et d'extrema, d'intégrales, d'éléments propres, lissage, tabulation, interpolation, systèmes linéaires et non-linéaires.
Source / Exemple :
bdd.zip
Conclusion :
Il reste à écrire l'interface graphique et le post-traitement pour l'équation de poisson.
3 juil. 2010 à 13:51
Ici tu entres dans la première catégorie. Le souci est que tu fais beaucoup de chose de la mauvaise manière. Il faut savoir qu'un débutant qui voit une source a beaucoup de mal à différencier les bonnes pratique, des mauvaises. S'il prend ta source comme référence, ce ne sera pas à son avantage.
Pour simplifier, on est plus sévère sur les codes postés dans cette section, que sur le forum.
Néanmoins, rien ne t'empêche de mettre à jour ton code. N'hésite pas à demander de l'aide, c'est toujours avec plaisir que les membres de cette communauté t'aideront.
3 juil. 2010 à 00:45
2 juil. 2010 à 11:26
Plusieurs remarques:
- Le titre est incorrecte puisque ton code n'a *absolument* rien à voir avec une quelconque base de données. C'est juste liste chaînées qui est gardée en mémoire !
- Tu fais du C++, mais tu n'en utilises pas les avantages, tu aurais pu coder directement en C, ton code n'aurait pratiquement pas changé.
Au niveau techniques:
- N'utilise jamais using namespace std, *surtout* dans header ! Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace
- Préfère 0 à NULL. Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/null-en-cpp
- Un seul header par classe, on ne met pas plusieurs définitions de classe dans un seul header !
- Les variables globales sont à proscrire totalement. Si tu as des variables globales, pose toi des questions.
- Utilise des std::string, au lieu de faire du char*/char[] partout !
- La liste chaînée aurait pu être aisément remplacé par une std::list
- Il est inutile de faire un "return;" à la fin d'une fonction retournant void.
- L'encapsulation des données ne sert strictement à rien, si tu mets toutes les méthodes amis de tes classes (friend). L'utilisation du mot clé friend doit être rarissime, et doit se justifier. Ici il est utilisé n'importe comment.
- Beaucoup de fonction ne sont pas optimisées (je pense par exemple à "enleve_les_blancs" qui fait des copies inutiles).
- Les fonctions sont *trop* grosses. Une bonne fonction n'excède généralement pas une trentaine de ligne.
- Beaucoup de répétition ! Beaucoup de code aurait pu être factorisé. A la place tu as fait énormément de copier coller.
Enfin, cerise sur le gâteau, le code ne compile pas chez moi (normal, tu n'as pas pris la peine d'inclure les headers nécessaires pour strcpy et strcmp, et entete2.h n'existe pas !), et j'ai énormément de warnings (tu n'as pas du compiler en activant l'affichage de conseil).
Le code ne compilant pas, je n'ai pas vérifié les fuites mémoires, mais je suis à peu près sur que sur ce point aussi, il y a des problèmes.
J'oublie sûrement plein de remarques, mais j'ai du en parcourir la majorité.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.