GÉRER UN GROUPE DANS UN FICHIER TEXTE À L'AIDE DE LISTE CHAINÉE, ARBRE BINAIRE O

cs_DavidX Messages postés 5 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 18 février 2005 - 30 déc. 2002 à 20:20
cs_DavidX Messages postés 5 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 18 février 2005 - 2 janv. 2003 à 23:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10236-gerer-un-groupe-dans-un-fichier-texte-a-l-aide-de-liste-chainee-arbre-binaire-ou-tableau

cs_DavidX Messages postés 5 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 18 février 2005
2 janv. 2003 à 23:20
c'est ma deuxième année mais c'est ma premiere année en c++
j'ai vu le pascal avant avec Delphi...
mais ce n'est pas un programme d'étude basé sur la programmation c'est ce qui est un peu dommage, j'pense continué par la suite en programmation, si tout va bien d'ici la
trinitacs Messages postés 249 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 7 août 2003 2
2 janv. 2003 à 12:55
"j'suis encore étudiant en informatique"
lol je ne suis même pas encore sortit du lycée. C'est t'a première année en tant qu'étudiant en info?

ok n'hsite pas à me demander si il y a un truc que tu ne comprend pas ;)
cs_DavidX Messages postés 5 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 18 février 2005
2 janv. 2003 à 00:07
Hey =)
merci beaucoup des commentaires et des trucs, j'suis encore étudiant en informatique et tes conseils vont beaucoup m'aider, même si au premier regard j'ai pas tout compris tes commentaires,
j'va essayer de tout faire c'que j'ai compris et j'te demande des explications sur ce que j'ai pas compris par la suite
merci encore
trinitacs Messages postés 249 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 7 août 2003 2
1 janv. 2003 à 20:36
"hey trinitacs
toujours désolé
c'est ici que tu vas pouvoir retrouver mon code"
Je ne comprend pas ?


C'est cool, ton code source est bien commenté.

Est-ce que tu connais:
#ifndef FICHIER_H
#define FICHIER_H
...
#endif

tu devrais faire ça pour chaque header. Et ensuite tu fait #include "fichier.h"
Note: quand dans le define le nom du fichier en Maj et le _ pour le point

Tu fais du C++ donc utilise les fonction d'allocation du C++ new et delete et non pas celle du C.
nouveau = (struct personne *) malloc (sizeof(personne));
donne en avec new:
nouveau = new personne;

Ce qui m'amène à tefaire une remarque sur les noms de tes struct.Tu devrais les faire commencer par une maj ou les écrire entièrement en maj, ainsi on ne les confondera pas avec des variables( ce que j'ai fais un instant en regardant ta source).

Pour ta liste chaîne maintenant. Je la trouve bizarre. Tu as déclaré une variable tête de type personne. A ta place j'aurai fait une autre struct créer spécialement pour gérer la liste:
struct PersonneListe
{
Personne *premierPtr;
Personne *dernierPtr;
}

Mais tu peux faire encore mieux avec le C++. En effet tu créer une classe Personne et une classe PersonneListe. La classe PersonneListe pourras contenir des fonction afin de manipuler la liste:
insert_in_head
move_in_queue
etc..
Je trouve les classes beaucoup plus pratiques et efficaces que les structures.

Sinon autre conseil ou astuce utile que j'ai appris en regardant les source de q2 de mon idole Carmack :) ton programme commence à avoir beaucoup de fichiers et ça t'oblige à mettre une grosse liste d'include à chaque fois. De plus si tu changes le nom d'un .h tu devras vérifier dans chaque fichier que l'include comporte le nouveaunom du .h c'est donc une perte de temps. Bon voilà le truc. Tu créer un .h qui rassemblera tous les include de tous les fichiers d'en tête de ton projet et du compilo. Tu déclare aussi tes variable globale. Disons que ton fichier qui rassemble tous les include se nomme shared.h. Ainsi tu aura seulement besoin de mettre #include "shared.h" dans main.cpp, arbre.cpp etc.. En gros le fichier shared.h rassemble tous les include pour faciliter les inclusions.

J'ai l'impression que tu utilise les tabulation intelligentes de Devcpp. heu elle sont à chier par le nez. Pense aussi à aérer plus ton code en sautant des ligne entre chaque bloc et en mettant des espaces.

Tu utilise un #define pour déclarer une constante. En C++ ça fait porcos alors je te conseil d'utiliser const à la place.

Sinon je n'ai aps eu le temps de regardé précisément vecteur et arbre. Sais tu que la STL te propose des classes pouvant gérer vector list queue etc..

Ajout de dernière minutes: A propos de ton switch (je vois déjà kaid en train de me charier avec mes pointeur de fonction mais ce n'est aps ça :). Au lieu d'écrire du code dansun switch fais simplement un appel de fonction. Ton code gagnera beaucoup en lisibilité car il sera plus clair.

Voilà, je pense qu'il y a d'autres choses encore que je n'ai pas vu mais si tu fais tout ce que je t'ai dis ça t'occuperas ;)
cs_DavidX Messages postés 5 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 18 février 2005
30 déc. 2002 à 20:20
hey trinitacs
toujours désolé
c'est ici que tu vas pouvoir retrouver mon code
Rejoignez-nous