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 :

Manipuler un objet dans deux boucles


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 25
    Points : 25
    Points
    25
    Par défaut Manipuler un objet dans deux boucles
    Bonjour,

    Je vais essayer de faire simple... Je lis un fichier séquentiel représentant des coordonnées de points. Le but final est de créer un objet "droite" à partir de 4 points.

    Ainsi pour le moment aucun problème je lis et récupère les valeurs dans mon fichier.

    J'utilise un objet pour créer cette "droite". ET c'est là que j'ai mon problème. Je souhaiterais créer cet objet uniquement toutes les 4 itérations puis l'utiliser pour 3 itérations successives.

    Cependant cet objet est dans un switch (j'ai aussi essayé avec une boucle for) et donc sa portée n'est pas globale.

    Voici ce que j'ai essayé de faire sans succès.... J'attends vos suggestions, car je pense que c'est plutôt un problème d'algorithmie lié à du C++

    Merci d'avance pour votre aide


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    int cpt=0;
    while(!file1.eof())
    {
    	file1 >> x >> y;
    	ObPoint::Point2d point2dd(x,y); 
    	Point *lepoint;
    	lepoint->Points()->CreatePoint(point2dd); //On vient de créer un point avec la ligne du fichier séquentiel
     
     
     
    	cpt+=1;
    	if (cpt>4) cpt=1;
     
    	switch (cpt)
    	{
    	case 1:{
    		Feature::OutilCreerDroite *monOutilCreationDroite; //on créé l'outil qui va construire la ligne a partir des points
    		monOutilCreationDroite->PremierPoint(lepoint)}
    	case 2:{
    		monOutilCreationDroite->DeuxiemePoint(lepoint)}
    	}
    case 3:{
    	monOutilCreationDroite->TroisiemePoint(lepoint)}
    }
    case 4:{
    	monOutilCreationDroite->QuatriemePoint(lepoint)
                                    monOutilCreationDroite->Commit();
    		monOutilCreationDroite->Destroy();//on détruit l'objet
    	   }
    }
    }

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    la portée d'une variable se limite aux accolades qui l'entourent.
    Partant de là, ce que tu essayes de faire est strictement impossible de cette manière, d'ailleurs le compilateur doit te le dire..

    Tu veux utiliser une variable dans la boucle ? Tu la crées dans la boucle.
    Elle doit survivre à la boucle ? Tu la crées hors de la boucle.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Bonjour et merci pour ta réponse.

    En effet celà ne risque pas de fonctionner. J'ai bien pensé à laisser l'objet en dehors de la boucle cependant des que j'utilise la méthode Destroy(), je n'ai plus l'objet.

    Tout le problème réside dans le fais que je dois recréer cet objet toutes les 4 itérations de la boucle, et je ne vois pas comment procéder

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Points : 718
    Points
    718
    Par défaut
    Bonjour,

    Petite question, pourquoi cherches-tu à détruire ton objet monOutilCreationDroite toutes les 4 itérations alors que tu pourrais le détruire qu'une fois que tu n'en as plus l'utilité?

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    En effet ... Je pensais que c'était obligatoire vu que j'avais eu une erreur mais finalement en enlevant le destroy et en réinitialisant cet objet, celà fonctionne.
    J'ai vraiment cherché compliqué pour pas grand chose.....

    Merci et bon week-end,

    Romain

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

Discussions similaires

  1. Création d'objets dans une boucle for
    Par urban_p dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/06/2008, 10h34
  2. Manipulation des objets dans une session
    Par facilus68 dans le forum Hibernate
    Réponses: 5
    Dernier message: 28/12/2007, 14h02
  3. manipuler une table dans une boucle.
    Par DonQuiShoote dans le forum Access
    Réponses: 13
    Dernier message: 28/02/2007, 08h05
  4. Comment Manipuler des objets dans une liste de type TList ?
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 1
    Dernier message: 02/11/2006, 15h40
  5. [FLASH MX] Créer un objet dans une boucle
    Par alexfrere dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 30/04/2006, 01h35

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