#26 Le 27/02/2008, à 11:49
- Le Farfadet Spatial
Re : c++ Demande Aide Projet(simple)
Salut à tous !
Velderama, tu n'as pas répondu à ma question : j'ai demandé moins de 10 lignes, tu en as fait 23 --- j'ai été gentil, je n'ai pas compté les lignes vides. Recommence (ce n'est toujours pas facultatif).
j'ai des containtes qui sont de faire des classes séparées...
C'est dans ton énoncé ?
Si oui, alors malgré tout tu t'y prends mal : tes classes ne sont pas appropriées. Tu fais une classe par fonctionnalité, alors qu'il faut une classe par concept : il n'y a aucune raison de faire une classe juste pour vérifier les fichiers. Une bonne structuration, ce n'est pas multiplier les fichiers et tout éclater de sorte qu'on ne s'y retrouve plus...
À bientôt.
Le Farfadet Spatial
Dernière modification par Le Farfadet Spatial (Le 27/02/2008, à 11:53)
Hors ligne
#27 Le 27/02/2008, à 12:26
- velderama
Re : c++ Demande Aide Projet(simple)
Bien dit je suis d'accord.
Je pensais a faire les classes suivantes:
creationMotsLong1 : recenser les mots longs dans fichier1 et distances
creationMotsLong2 : recenser les mots longs dans fichier2 et distances
affichage : affichage mots longs et distance
lancement : contenant le main et lance le programme et les fichiers
...
Mais deja si je cale deja pour faire une classe de "verification" le reste risque detre pire!:mad:
Hors ligne
#28 Le 27/02/2008, à 12:34
- Le Farfadet Spatial
Re : c++ Demande Aide Projet(simple)
Salut à tous !
Alors, Velderama, cet exercice (qui a beaucoup plus de rapport avec ton projet que tu ne le crois) ?
Peux-tu donner l'énoncé exact est complet de ton projet ?
As-tu regardé, comme conseillé, du côté de la fonction open ?
Je pensais a faire les classes suivantes:
creationMotsLong1 : recenser les mots longs dans fichier1 et distances
creationMotsLong2 : recenser les mots longs dans fichier2 et distances
affichage : affichage mots longs et distance
lancement : contenant le main et lance le programme et les fichiers
Pour moi, l'affichage devrait être une fonction membre (des classes crationMotsLong1 et creationMotsLong2).
Mais deja si je cale deja pour faire une classe de "verification" le reste risque detre pire!
Tu cales parce que tu veux faire des choses trop compliquées et ceci sans raison.
À bientôt.
Le Farfadet Spatial
Hors ligne
#29 Le 27/02/2008, à 13:27
- velderama
Re : c++ Demande Aide Projet(simple)
j'ai vu une façon de faire :
ifstream fichier(fichier1, ios::in); pas besoin de open
Projet :Je dois réaliser un projet qui etant donné 2 fichiers texte passés en parametres ,
de comparer tous les mots de plus de 3 caracteres présents dans les 2 fichiers de les lister et leurs positions en terme de caracteres par rapport au début du fichier!
Hors ligne
#30 Le 27/02/2008, à 13:31
- velderama
Re : c++ Demande Aide Projet(simple)
tous les mots de plus de 3 caracteres présents dans les 2 fichiers
Plus précisément ,
tous les mots identiques de plus de 3 caracteres presents simultanément dans les 2 fichiers
Hors ligne
#31 Le 27/02/2008, à 13:35
- Le Farfadet Spatial
Re : c++ Demande Aide Projet(simple)
Salut à tous !
j'ai vu une façon de faire :
ifstream fichier(fichier1, ios::in); pas besoin de open
En effet, je suis bien d'accord. Il me semblait que tu voulais séparer la déclaration de l'ouverture. Cela dit, je trouve préférable de le faire ainsi.
Projet :Je dois réaliser un projet qui etant donné 2 fichiers texte passés en parametres ,
de comparer tous les mots de plus de 3 caracteres présents dans les 2 fichiers de les lister et leurs positions en terme de caracteres par rapport au début du fichier!
Ce n'est pas l'énoncé exact et complet de ton projet... Cela dit, dans ce que tu donnes, il n'y a aucune contrainte quant à la structure. Il s'agit juste de manipulation de la bibliothèque standard. Il n'y a aucune raison de répartir ton code dans plusieurs fichiers, ni de faire une architecture de classe complexe. Tu peux le faire de manière simple, facile à comprendre, performante, structurée et maintenable en une vingtaine de lignes. Il serait idiot de se compliquer la vie en voulant faire une structure complexe et tordue...
À bientôt.
Le Farfadet Spatial
Hors ligne
#32 Le 27/02/2008, à 13:40
- velderama
Re : c++ Demande Aide Projet(simple)
Oui mais ca été dit durant les réunion de projet !!
Sinon je ne chercherai pas impérativement a le faire comme ca!:(
Hors ligne
#33 Le 27/02/2008, à 14:17
- Le Farfadet Spatial
Re : c++ Demande Aide Projet(simple)
Salut à tous !
Oui mais ca été dit durant les réunion de projet !!
Sinon je ne chercherai pas impérativement a le faire comme ca!:(
D'accord. Donc, c'est une consigne supplémentaire, très bien. Mais vous a-t-il été demandé de faire des classes ou de structurer votre projet ? Encore une fois, classe n'est pas synonyme de structure, loin s'en faut : ce n'est pas parce qu'on a des classes qu'on a un projet structuré et ce n'est pas parce qu'un projet est structuré que l'on utilise des classes.
Néanmoins, ton approche n'est pas structurée ou pour mieux dire, elle n'est pas structurée en classes : elles n'ont aucun rapport entre elles. Ce que tu fais, c'est une classe par fonction, c'est-à-dire que tu n'apportes aucune structure avec tes classes, par contre tu éclates ton code dans plein de fichiers différents, ce qui va vite rendre l'ensemble inextricable.
Si tu y tiens, fait une classe, mais une seule. Cela dit, au vu de comment tu t'y prends, il vaut mieux décomposer ton projet en fonctions.
Enfin, structure ne veut pas dire complexité. Un bon projet bien structuré peut prendre peu de lignes. Un bon programmeur n'est pas quelqu'un qui pisse du code, c'est quelqu'un qui est capable d'analyser un problème pour en trouver une solution adaptée. Lorsqu'un problème est simple, si la solution est complexe il y a probablement inadéquation --- à moins que le problème ne soit faussement simple, mais ce n'est pas le cas ici. De plus, plus on fait de lignes de code, plus on fait de bogues.
Donc, oui, fait quelque chose de structuré : même si on ne te le demande pas, c'est ce qu'il faut faire. Cela dit, fait simple, la structure en sera meilleure, le code plus performant et plus facile à relire.
À bientôt.
Le Farfadet Spatial
Dernière modification par Le Farfadet Spatial (Le 27/02/2008, à 14:18)
Hors ligne
#34 Le 27/02/2008, à 14:41
- velderama
Re : c++ Demande Aide Projet(simple)
Je pense qu'a ce niveau je n'est vraiment le temps pour maitriser les classes...
Je vais faire le projet dans une seule classe puis si j'arrive a trouver comment le faire avec des classes je rectifierai! Merci quand meme;)
Tu saurai l'equivalent d'un hashtable java en c++ pour mettre les chaque mots longs trouvés avec sa position? merci
Hors ligne
#35 Le 27/02/2008, à 14:58
- Le Farfadet Spatial
Re : c++ Demande Aide Projet(simple)
Salut à tous !
Je pense qu'a ce niveau je n'est vraiment le temps pour maitriser les classes...
Je vais faire le projet dans une seule classe puis si j'arrive a trouver comment le faire avec des classes je rectifierai! Merci quand meme;)
Tu es sûr de ne pas lire en diagonale les interventions sur ce forum ? Parce que j'ai écrit :
Si tu y tiens, fait une classe, mais une seule.
Donc, je te dis ne faire qu'une seule classe et tu me réponds que tu n'as pas le temps de maîtriser les classes, donc que tu vas plutôt n'en faire qu'une seule...
En plus, je ne veux pas avoir l'air, mais depuis le début je te dis de faire simple... C'est tout de même légèrement décourageant.
Tu saurai l'equivalent d'un hashtable java en c++ pour mettre les chaque mots longs trouvés avec sa position? merci
La bibliothèque standard possède des tables de hashage : voir map. Cela dit, je pense que dans ton cas une list serait plus appropriée.
À bientôt.
Le Farfadet Spatial
Hors ligne
#36 Le 27/02/2008, à 15:49
- velderama
Re : c++ Demande Aide Projet(simple)
Vous auriez pas un lien pour le cours sur le "map"
Merci
Hors ligne
#37 Le 27/02/2008, à 16:13
- Le Farfadet Spatial
Re : c++ Demande Aide Projet(simple)
Salut à tous !
Vous auriez pas un lien pour le cours sur le "map"
À un moment, il faut être autonome : Google -> map C++...
Je ne suis pas sûr --- en fait je suis à peu prêt certain du contraire --- que ce soit la structure de données la plus appropriée : regarde les différents conteneurs de la STL avant de vouloir faire comme en Java, puisque tu ne fais pas du Java, mais du C++. D'ailleurs, je ne pense pas que tu aies besoin d'une structure de données du tout, dans la mesure où tu dois afficher les mots et leurs positions, pas les stocker.
À bientôt.
Le Farfadet Spatial
Hors ligne