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 :

Problème pour afficher.


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 3
    Par défaut Problème pour afficher.
    Bonjour a tous et a toutes,

    J'ai un problème lorsque je cherche a afficher ma pelouse ou mon lombric je pense que j'ai mal programmer au niveau de mes pointeurs (pour ma classe du lombric) mais je n'en suis pas sur.

    voici les classes:
    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
     
    #include <string>
    #include <iostream.h>
    #include "Pelouse.h"
    #include "Lombric.h"
    #include "Position.h"
    #include "Balade.h"
    void lancerJeu(Lombric serpent);
    int main(int argc, char* argv[]) {
    	/*Pelouse pel(10,10,2);
    	Position pos(4,2);
    	Lombric serpent(pel,pos,5);
    	lancerJeu(serpent);*/
    	Balade bal;
    	bal.affiche();
    	return 0;
    }
     
    void lancerJeu(Lombric serpent){
     
    }
    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
    /*
     * Balade.h
     *
     *  Created on: 06-févr.-2010
     *      
     */
     
    #ifndef BALADE_H_
    #define BALADE_H_
    #include "Pelouse.h"
    #include "Lombric.h"
     
    class Balade {
    	Pelouse * pelouse;
    	Lombric * lombric;
    public:
    	Balade();
    	void affiche();
    	virtual ~Balade();
    };
     
    #endif /* BALADE_H_ */
    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
    32
    33
    34
    35
    36
    37
    38
    39
     
    /*
     * Balade.cpp
     *
     *  Created on: 06-févr.-2010
     *      
     */
     
    #include "Balade.h"
    #include "Lombric.h"
    #include "Direction.h"
    #include "Pelouse.h"
    #include "Parcelle.h"
    #include "iostream.h"
    Balade::Balade():pelouse(new Pelouse()),lombric(new Lombric()){
    	Pelouse pel(10,18,30);
    	*pelouse=pel;
    	Position pos(4,2);
    	Lombric lomb(*pelouse,pos,5);
    	*lombric=lomb;
     
    }
     
    Balade::~Balade() {
    	// TODO Auto-generated destructor stub
    }
    void Balade::affiche(){
    	for( int i=0;i<(*(pelouse)).getLiPel();i++){
    		for( int j=0;j<(*(pelouse)).getColPel();j++){
    			if((*((*(pelouse)).getParcelle(i,j))).getAlim()==NULL)
    				cout << ".";
    			else
    				cout << (*((*(pelouse)).getParcelle(i,j))).getAlim()->getAli();
     
    			cout << " ";
    		}
    		cout<<endl;
    	}
    }
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    /*
     * Lombric.h
     *
     *  Created on: 05-févr.-2010
     *      
     */
     
    #ifndef LOMBRIC_H_
    #define LOMBRIC_H_
    #include "Direction.h"
    #include "Pelouse.h"
    #include "Position.h"
     
    class Lombric {
    private:
    	int tailleInit;
    	int tailleLombric;
    	int nbAlimIngurgite;
    	Position * corps;
    	Position initPos;
    	Pelouse & pelouse;
    public:
    	Lombric::Lombric();
    	Lombric(Pelouse & _pelouse, Position _initPos, int _tailleInit=4);
    	//Lombric(const Lombric & lombric);
    	Lombric & operator=(const Lombric & lombric);
    	virtual ~Lombric();
     
    private:
    	bool grandi(Position pos);
    	Position deploiementAnneau(Direction direction, Position position);
    	Position deploiementNord(Position position);
    	Position deploiementEst(Position position);
    	Position deploiementSud(Position position);
    	Position deploiementOuest(Position position);
     
    	bool estContigue(Position posPrecedent,Position posActuelle);
    };
     
    #endif /* LOMBRIC_H_ */
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    /*
     * Lombric.cpp
     *
     *  Created on: 05-févr.-2010
     *      
     */
     
    #include "Lombric.h"
    #include "Direction.h"
    #include "Pelouse.h"
    #include "Parcelle.h"
    #include "iostream.h"
    Lombric::Lombric():pelouse(*(new Pelouse())){
     
    }
    Lombric::Lombric(Pelouse & _pelouse, Position _initPos, int _tailleInit) :
     
    }
    /*
    Lombric::Lombric(const Lombric & lombric):pelouse(lombric.pelouse){
    	t
    }*/
     
    Lombric & Lombric::operator=(const Lombric & lombric){
    	;
    }
     
    bool Lombric::pasSurCorps(Position anneau,int position){
     
    }
     
    bool Lombric::grandi(Position pos){
    }
    Lombric::~Lombric() {
    	delete [] corps;
    }
     
    Pelouse & Lombric::getPelouse(){
    	return pelouse;
    }
     
    Position Lombric::getPosition(int i){
    	return corps[i];
    }
     
    void Lombric::affiche(){
     
    }
     
    void Lombric::affiche2(){
    	for(int i=0;i<tailleLombric;i++){
    		cout<<"["<<corps[i].ligne<<","<<corps[i].colonne<<"]";
    	}
    }
    void Lombric::deplacement(Direction direction){
     
    }
    Position Lombric::deploiementAnneau(Direction direction, Position position){
    }
    void Lombric::lombricSeNourri(Position newPosTete){
     
    }
    Position Lombric::deploiementNord(Position position){
     
    }
    Position Lombric::deploiementEst(Position position){
     
    }
    Position Lombric::deploiementSud(Position position){
     
    }
    Position Lombric::deploiementOuest(Position position){
     
    }
    bool Lombric::estContigue(Position posPrecedent,Position posActuelle){
     
    }
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    /*
     * Pelouse.cpp
     *
     *  Created on: 05-févr.-2010
     *      
     */
     
    #include "Pelouse.h"
    #include "Parcelle.h"
    #include "Aliment.h"
    #include "Pelouse.h"
    #include <time.h>
    #include <iostream.h>
    #include "math.h"
     
    Pelouse::Pelouse(int ligne,int colonne,unsigned int pourcentAlim)
    :lignes(ligne),colonnes(colonne) {
     
     
    }
     
    Pelouse::~Pelouse() {
    	// TODO Auto-generated destructor stub
    }
     
    void Pelouse::affiche(){
     
    }
    Parcelle * Pelouse::getParcelle(int lignes,int colonnes){
    	return &pelouse[lignes][colonnes];
    }
    Pelouse::Pelouse(const Pelouse & _pelouse) {
     
    }
    Pelouse & Pelouse::operator=(const Pelouse & _pelouse){
     
    }
     
     
    bool Pelouse::verifPos( Position pos){
    	return ((( pos.ligne >=0 ) && ( pos.ligne <lignes))&&
    			((pos.colonne >=0 )&&( pos.colonne < colonnes)));
    }
    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
    /*
     * Pelouse.h
     *
     *  Created on: 05-févr.-2010
     *      
     */
     
    #ifndef PELOUSE_H_
    #define PELOUSE_H_
    #include "Parcelle.h"
    #include "Position.h"
    class Pelouse{
    private:
    	Parcelle * * pelouse;
    	int lignes;
    	int colonnes;
    	int nbAliment;
    public:
    	Pelouse(int ligne=10,int colonne=10,unsigned int pourcentAlim=10);
    	Pelouse(const Pelouse & _pelouse);
    	Pelouse & operator=(const Pelouse & _pelouse);
    	inline int getLiPel()const{return lignes;}
    	inline int getColPel()const{return colonnes;}
    	inline int getStockAlim(){return nbAliment;}
    	bool verifPos(Position pos);
    	void affiche();
    	Parcelle * getParcelle(int lignes,int colonnes);
    	virtual ~Pelouse();
    };
     
    #endif /* PELOUSE_H_ */
    Voilà je n'arrive pas a trouvé mon problème dans mon code Je suis censé afficher et faire jouer une balade qui utilise les classes Pelouse et Lombric, la pelouse se crée bien et j'arrive a l'afficher mais par contre une fois que je fais intervenir ma classe Lombric dans Balade ca ne fonctionne absolument plus je n'ai aucun affichage :s.

    ( je n'ai pas mis tout mon code complet juste le prototype des fonctions qui ne sont pas vraiment importante résoudre mon problème je pense)

    Je pense que c'est un problème de pointeur mais je ne comprends pas du tout :s

    Si quelqu'un saurait m'expliquer mon erreur ou mes erreurs :s

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    As-tu pensé à utiliser un debugger pour au moins mieux cerner ton problème ?

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 3
    Par défaut
    Oui, j'ai résolu le soucis.

    Merci malgré tout d'avoir pris la patience de lire mon message.

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

Discussions similaires

  1. Problème pour afficher un contrôle dans un formulaire
    Par JahRastafari dans le forum IHM
    Réponses: 5
    Dernier message: 16/06/2005, 10h15
  2. Problème pour afficher une image bmp
    Par homeostasie dans le forum MFC
    Réponses: 6
    Dernier message: 08/05/2005, 18h36
  3. [MFC]Problème pour afficher une image.
    Par Deedier dans le forum MFC
    Réponses: 4
    Dernier message: 25/03/2005, 16h13
  4. Réponses: 13
    Dernier message: 23/12/2004, 18h01
  5. Réponses: 3
    Dernier message: 29/08/2003, 10h57

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