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 :

l'executable ne marche pas pourquoi?


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut l'executable ne marche pas pourquoi?
    j'utilise une liste chainée de contact et pour récuperer le nom d'un contact je dois utiliser un accesseur et le pointeur qui pointe sur le contact
    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    string unNom;
      ListeContact uneListe;
      Contact unContact;
      Contact *pt;
      uneListe.CreerListe();
      unContact.CreerContact("mlk","karine","2 rue de la mlkm", "31280", "lmlk", 25, "07.29.17.83.52"," ", " ");
      uneListe.AjouterContact (unContact);
      pt=(uneListe.RecupererPointeur ());
      nom= pt->AfficherNom();
      cout<< nom;
    ou recupererpointeur recupere le pointeur de tete de la liste
    ca compile mais qd le lance l'executable j'ai une erreur window qui me demande de l'envoyer a microsoft

    je ne comprend donc pas ou est le probleme
    merci de votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Salut,

    peux tu fournir les fonctions CreerListe, CreerContact, AjouterContact, RecupererPointeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uneListe.AjouterContact (unContact);
    est mauvais car unContact est détruit a la fin de l'appel

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Salut,

    T'as testé la valeur de pt apres l'appel à RecupererPointeur() ?
    Si pt n'est pas nul, vérifie s'il pointe bien sur le premier element de la liste.
    peux tu fournir les fonctions CreerListe, CreerContact, AjouterContact, RecupererPointeur
    ca peut aider

  4. #4
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 752
    Points : 10 682
    Points
    10 682
    Billets dans le blog
    3
    Par défaut Re: l'executable ne marche pas pourquoi?
    Citation Envoyé par babemagus
    ca compile mais qd le lance l'executable j'ai une erreur window qui me demande de l'envoyer a microsoft
    Exécute dans un debugger, ça t'emènera à l'endroit de l'erreur.

    ","2 rue de la mlkm",
    Tiens, c'est plus rue de la kikou ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    la creercontact
    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
     
    void Contact::CreerContact(string unNom, string unPrenom, string uneRue,
         string unCP, string uneVille, int unAge, string unTel, string unTelPortable,
         string unTelBureau)
    {
            nom=unNom;
            prenom=unPrenom;
            rue=uneRue;
            CP=unCP;
            ville=uneVille;
            age=unAge;
            tel=unTel;
            telPortable=unTelPortable;
            telBureau=unTelBureau;
            Pt_Suivant=NULL;
     
    }
    creer liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void ListeContact::CreerListe ()
    {
         Pt_debut=NULL;
    };
    ajoutercontact
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void ListeContact::AjouterContact (Contact unContact) 
    {
    		Pt_debut=&(unContact);
    };
    recupererpointeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Contact * ListeContact::RecupererPointeur ()
    {  
    	return Pt_debut;
    }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    je suis aller sur le debugage mais je comprenais pas ce qu'il y etait marqué alors j'ai pas osé modifier

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Re,

    void ListeContact::AjouterContact (Contact unContact)
    {
    Pt_debut=&(unContact);
    };

    Imaginons que çà marche, tu compte n'avoir qu'un seul contact dans ta liste ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    non ct juste pour faire mon test

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Au lieu de créer une fonction creerContact tu devrai faire ce traitement dans le constructeur.

    Ensuite lors de l'ajout d'un contact tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void ListeContact::AjouterContact (Contact *unContact) 
    { 
          Pt_debut=unContact; 
    };

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    oui je vois ce que tu veux dire mais mon probleme c'est l'erreur window

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    oui je vois ce que tu veux dire mais mon probleme c'est l'erreur window

    L'erreur windows du fait que ton pt n'est pas un pointeur valide sur une structure contact.

    en allouant la mémoire de ton contact avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     contact *pt;
    pt = new contact("toto"...);
    ensuite tu le stocke et le réutilise avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    contact *pt;
    pt = uneListe.RecupererPointeur ()

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    oui je viens de me rendre que le recuperepointeur ne donne pas la meme adresse que le contact

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    ah vrai dire pour mon teste j'ai tout fait d'affiler mais normalement je n'ai acces aux contact que par des pointeurs

  14. #14
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Prends le temps de regarder ce que fais exactement ton programme au niveau de la gestion de la mémoire (il y a beaucoup d'erreurs à ce niveau à mon avis), relis le chapitre correspondant de ton bouquin préféré si besoin, et... utilise std::list

Discussions similaires

  1. [XL-2013] Probleme XL téléchargé ne marche pas ,pourquoi ?
    Par NulenExcel77 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/06/2014, 18h52
  2. Réponses: 2
    Dernier message: 19/03/2012, 20h44
  3. mon executable ne marche pas
    Par guitariste dans le forum C++
    Réponses: 5
    Dernier message: 29/03/2008, 00h14
  4. CreateDir : Ce code marche pas pourquoi
    Par Cazaux-Moutou-Philippe dans le forum Delphi
    Réponses: 3
    Dernier message: 17/05/2007, 18h58
  5. Pourquoi ce trigger ne marche pas ??
    Par Le Basque dans le forum Développement
    Réponses: 4
    Dernier message: 20/09/2004, 15h46

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