IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Trop de Variables!


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 43
    Points : 25
    Points
    25
    Par défaut Trop de Variables!
    Bonjour,

    En bon débutant voulant arriver à ses fins mais helas encore mauvais programmeur, mon programme comprend du C et du C++. (tout ce qui me permettait d'avancer)

    Au debut le 'main' charge plein de variables.
    quand je dois utiliser une fonction ecrite ailleurs (autre fichier dans code::blocks) je dois transférer pas mal de variables ce qui me donne un truc austère comme :

    nomDeLaFonction(int a, int b, int c, etc... , POINT cible, ZONE bidule, etc...)

    De plus dans main pour appeler ces dites fonctions je me recoltine toutes les variables à taper.

    Comme mon programme ne sert qu'à une chose, ne devrais-je pas les déclarer "variables globales"? (mais on dit souvent que c'est a eviter), ou avez vous une autre idée?

    Merci.

  2. #2
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    C'est clair que tu as un problème d'architecture de ton programme !
    Une fonction à 11 paramètres ça sent pas très très bon!

    La solution à ton problème n'est pas évidente. Il faudrait tout revoir et mieux organiser ton code. Le langage C++ étant objet, il convient de l'utiliser dans cette voie. Ainsi avec le temps tu arriveras à créer des abstractions de données bien formalisées avec des fonctions membres qui ont une responsabilité et une seule dans le cas idéal.
    Si tu regardes de plus près tes fonctions à toi, je mettrai ma main à couper qu'elles sont relativement longues, font pas mal de choses (donc plusieurs responsabilités), et il est possible qu'il y ait de la redondance de code (à éviter bien sûr).

    Tout ça pour dire que tant qu'on a pas compris un problème, on ne peut pas correctement le modéliser. Je ne peux donc pas t'aider directement! Par contre je t'encouragerai à aller vers cette voie de l'orienté objet, en créant des classes et en t'éloignant ainsi du C. Prend du temps pour découper ton problème, et organise mieux ton code. N'hésite pas à demander ici plus de précisions sur des problèmes que tu rencontreras !

    Bonne continuation,

    Poukill

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut, et bienvenue sur le forum.

    Tu devrais déjà essayer de voir s'il n'y a pas possibilité de "regrouper" les variables "qui vont bien" au sein d'une structure...

    Cela n'a pas grand chose à voir avec l'exemple que tu cites, mais, il faut avouer que les variable "rue", "numero","codepostal" et "ville" vont tellement bien ensemble que l'on pourrait envisager de les regrouper au sein d'une structure "adresse".

    Par la suite, cette structure "adresse" irait tellement bien avec les variables "nom", "prenom" et "telephone" qu'il serait sans doute opportun de les regrouper dans une structure "personne"

    De cette manière, plutôt que de passer les 7 variables séparées pour te permettre de représenter une personne, tu peux te "contenter" de n'en passer qu'une seul (de type... "personne") qui contient toutes les informations dont tu as besoin.

    Tu en dis trop peu pour nous permettre d'être plus précis dans les exemples, ce qui nous force au minimum à manquer de précision, au pire à donner des exemple sans aucun rapport.

    Aussi, si nous n'avons rien contre le fait de t'aider à trouver "les meilleures structures" à envisager, il nous faut quelque chose d'un peu plus concret pour pouvoir le faire

    L'étape suivante consistant à envisager les choses d'un point de vue "orienté objet" en vue de déléguer correctement les responsabilités en envisageant les comportement que doivent proposer chaque structures.
    A toi de jouer
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Merci a vous.

    j'ai bien simplifié comme expliqué j'ai subdivisé plus simplement mon code et fait une structure (seule vraiment possible )
    il me reste un gros envois de varaible lors de la sauvegarde dans une fonction save et idem pour le load... mais tout marche nikel Merci encore!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trop de variables
    Par AmauryLondon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/06/2012, 16h04
  2. Trop de variables dans ma proc logistic
    Par hugo59330 dans le forum SAS STAT
    Réponses: 2
    Dernier message: 02/03/2012, 16h18
  3. trop de Variables globales donc enums ou autre
    Par mimi31110 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 29/06/2008, 20h18
  4. export plusieurs tables et trop de variables
    Par cdespont dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/08/2007, 16h17
  5. [CGI] variable de session trop lourde ????
    Par LE NEINDRE dans le forum Web
    Réponses: 2
    Dernier message: 07/10/2005, 09h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo