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 :

Mes données ne s'affichent pas


Sujet :

C++

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Mes données ne s'affichent pas
    Bonjour tout le monde,

    J'essaie d'afficher des données mais à la place d'avoir des chaines de caractère, j'ai des chaines vides.

    Le problème doit venir de cette méthode :

    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
    bool CTraitementFestivals::TraiterLigne(const CChargeurFichierTexte& Chargeur)
    {
    	if (Chargeur.NombreChamps() < 2) return true;
    	const char*	Code = Chargeur.Champs(0);
    	const char* Chaine = Chargeur.Champs(1);
    	const char* NomActeur = Chargeur.Champs(2);
     
    	if(!m_Festivals.Ajouter(CRecompense(Chaine,NomActeur)))return true;
     
    	// Affichage des deux tableaux
    	for (long n=0; n < m_Festivals.Nombre();n++)
    	{
    		CRecompense& Rec = m_Festivals.Element(n);
    		if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    		{
    			printf("%s\n",Rec.Nom());
    		}
    	}
     
    	return true;
    }
    Si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%s\n",Chargeur.Champs(1));
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%s\n",Chaine());
    ça fonctionne.

    Mais normalement il faut appeler l'accesseur et afficher le résultat via cet accesseur.

    Je vous laisse une partie de mon code :

    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    #include <BasicConsole.h>
    #include "CinemaniaDD.h"
     
    //////////////////
    // CRecompense ///
    //////////////////
     
    CRecompense::CRecompense()
    {
    }
     
    CRecompense::CRecompense(const CRecompense& Source)
    :CGenerique(Source),m_Nom(Source.m_Nom),m_NomActeur(Source.m_NomActeur)
    {
    }
     
    CRecompense::CRecompense(const char* UnNom,const char* UnActeur)
    {
    }
     
    CRecompense::~CRecompense()
    {
    }
     
    CGenerique* CRecompense::Cloner() const
    {
    	return new CRecompense(*this);
    }
     
    bool CRecompense::EstValide() const
    {
    	return true;
     
    }
     
     
    bool CRecompense::GereUnicite() const
    {
    	return true;
    }
     
    int CRecompense::Comparer(const CGenerique& Autre, long TypeComparaison) const
    {
    	if(TypeComparaison == 0) return m_Nom.Comparer(((const CRecompense&)Autre).m_Nom,Comparaison_TriCroissantNonStrict);
    	if(TypeComparaison == 1) return m_Nom.Comparer(((const CRecompense&)Autre).m_Nom,Comparaison_TriCroissantNonStrict);
    	return 0;
     
    }
     
    const char* CRecompense::Nom() const
    {
    	return m_Nom.Chaine();
    }
     
    bool CRecompense::Mot(const char* UnNom)
    {
    	if((strlen(UnNom)<1)&&(UnNom==NULL))return false;
    	m_Nom = UnNom;
    	return true;
    }
     
    //////////////////////
    // CTabRecompenses ///
    //////////////////////
     
    CTabRecompenses::CTabRecompenses()
    :CTableauGenerique(CRecompense())
    {
    }
     
    CTabRecompenses::CTabRecompenses(const CTabRecompenses& Source)
    :CTableauGenerique(Source)
    {
    }
     
    CTabRecompenses::~CTabRecompenses()
    {
    }
     
    CGenerique* CTabRecompenses::Cloner() const
    {
    	return new CTabRecompenses(*this);
    }
     
    CRecompense& CTabRecompenses::Element(long Indice) const
    {
    	return (CRecompense&)CTableauGenerique::Element(Indice);
    }
     
    long CTabRecompenses::Indice(const char* UnNom) const
    {
    	return CTableauGenerique::Indice(CRecompense(UnNom,NULL));
    }
     
    bool CTabRecompenses::Ajouter(CRecompense& Modele)
    {
    	return CTableauGenerique::Ajouter(Modele);
    }
     
    void CTabRecompenses::Trier(long TypeComparaison)
    {
    	CTableauGenerique::Trier(1);
    }
     
    //////////////////////////
    // CTraitementFestivals //
    //////////////////////////
     
    CTraitementFestivals::CTraitementFestivals()
    {
    }
     
    CTraitementFestivals::~CTraitementFestivals()
    {
    }
     
    bool CTraitementFestivals::Charger(const char* NomFichier)
    {
    	CChargeurFichierTexte Chargeur;
     
    	if(!Chargeur.Charger(NomFichier,'\t',FctnTraiterLigne,this))return false;
    }
     
    /* static */ bool CTraitementFestivals::FctnTraiterLigne(const CChargeurFichierTexte& Chargeur, void* Contexte)
    {
    	return ((CTraitementFestivals*)Contexte)->TraiterLigne(Chargeur);
    }
     
    bool CTraitementFestivals::TraiterLigne(const CChargeurFichierTexte& Chargeur)
    {
    	if (Chargeur.NombreChamps() < 2) return true;
    	const char*	Code = Chargeur.Champs(0);
    	const char* Chaine = Chargeur.Champs(1);
    	const char* NomActeur = Chargeur.Champs(2);
     
    	if(!m_Festivals.Ajouter(CRecompense(Chaine,NomActeur)))return true;
     
    	// Affichage des deux tableaux
    	for (long n=0; n < m_Festivals.Nombre();n++)
    	{
    		CRecompense& Rec = m_Festivals.Element(n);
    		if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    		{
    			printf("%s\n",Rec.Nom());
    		}
    	}
     
    	return true;
     
    	/*Donc là j'ai défini le faux-frère, maintenant je vais en prendre la référence, s'est une 
    	référence de faux-frère, je sais qu'il existe parce que "Ajouter" m'a renvoyé VRAI, donc je 
    	vais rechercher un élément en fonction de l'indice que j'aurai trouvé via une recherche sur le 
    	mot donc j'appelle Indice qui me renvoie l'indice par rapport au mot et avec cet indice 
    	j'accède à un élément et je note cette référence dans cette variable locale que j'appelle 
    	ReferenceFF */
     
    	/*Il va donc chercher un mot trouvé dans le texte et voir si il correspond à un faux frère dans la liste des ff
    	si s'est le cas, il l'ajoute*/
     
     
    }
    Un tout grand merci pour votre aide.

    beegees

  2. #2
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	// Affichage des deux tableaux
    	for (long n=0; n < m_Festivals.Nombre();n++)
    	{
    		CRecompense& Rec = m_Festivals.Element(n);
    		if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    		{
    			printf("%s\n",Rec.Nom());
    		}
    	}
    Ca serait légèrement mieux ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Affichage des deux tableaux
    if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    {
    	for (long n=0; n < m_Festivals.Nombre();n++)
    	{
    		CRecompense& Rec = m_Festivals.Element(n);
     
    		printf("%s\n",Rec.Nom());
    	}
    }
    Vu que Code ne change pas pendant la boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Affichage des deux tableaux
    if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    {
           puts("Affichage des deux tableaux");
    	for (long n=0; n < m_Festivals.Nombre();n++)
    	{
    		CRecompense& Rec = m_Festivals.Element(n);
     
    		printf("%s\n",Rec.Nom());
    	}
    }
    Si tu mets le code ci-dessus, t'affiche-t-il "Affichage des deux tableaux" ?

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par coyotte507 Voir le message
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	// Affichage des deux tableaux
    	for (long n=0; n < m_Festivals.Nombre();n++)
    	{
    		CRecompense& Rec = m_Festivals.Element(n);
    		if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    		{
    			printf("%s\n",Rec.Nom());
    		}
    	}
    Ca serait légèrement mieux ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Affichage des deux tableaux
    if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    {
    	for (long n=0; n < m_Festivals.Nombre();n++)
    	{
    		CRecompense& Rec = m_Festivals.Element(n);
     
    		printf("%s\n",Rec.Nom());
    	}
    }
    Vu que Code ne change pas pendant la boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Affichage des deux tableaux
    if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    {
           puts("Affichage des deux tableaux");
    	for (long n=0; n < m_Festivals.Nombre();n++)
    	{
    		CRecompense& Rec = m_Festivals.Element(n);
     
    		printf("%s\n",Rec.Nom());
    	}
    }
    Si tu mets le code ci-dessus, t'affiche-t-il "Affichage des deux tableaux" ?
    Salut Coyotte,

    Un tout grand merci pour ton aide.

    Rien ne s'affiche malheureusement, même pas avec le puts.

    La chose que tu me conseillais alors était de mettre le if en dehors de la boucle for ?

    Voici les données du fichier txt qui doivent être traitées, je me demande si le fait de mettre le if en dehors de la boucle est une bonne chose :

    FE Cannes "Les 60 ans"
    FI El Matador
    GE Aventure
    RE Miguël Alvarez
    AC Jamel Debouse
    AC Jean-Paul Belmondo
    AC Sophie Marceau
    RF Meilleur scénario
    RR Meilleur réalisateur
    RA Meilleur acteur Jamel Debouse
    FI La Jeune Et Le Vieux
    GE Drame
    RE Catherine Dumont
    AC Alain Delon
    AC Charlotte Gainsbourg
    RF Meilleure qualité photographique
    RA Meilleur actrice Charlotte Gainsbourg
    FI Le Cousin
    GE Drame
    RE Claude Lelouche
    AC Charlotte Gainsbourg
    AC Jamel Debouse
    AC Smaïn
    RF Plus grande originalité
    FE Cannes 2006
    FI De Retour à Rhodes
    GE Aventure
    RE Jacques Mersibeau
    AC Jacques Dutronc
    AC Smaïn
    RF Meilleur scénario
    RF Meilleure qualité photographique
    RA Meilleur acteur Jacques Dutronc
    FI La Porte du Temps
    GE Science Fiction
    RE Jacques Mersibeau
    AC Arielle Dombale
    AC Jacques Dutronc
    RF Plus grande originalité
    RR Meilleur réalisateur
    RA Meilleur actrice Arielle Dombale
    Merci encore.

    beegees

  4. #4
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Salut,

    Le fait que rien ne soit affiché avec le puts voulait dire que le programme n'était pas parvenu jusque là, c'est à dire que le test avait échoué ou que la fonction avait retourné avant.

    Si tu veux voir où est le problème plus précisément , tu peux rajouter des affichages supplémentaires:

    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
    bool CTraitementFestivals::TraiterLigne(const CChargeurFichierTexte& Chargeur)
    {
    	if (Chargeur.NombreChamps() < 2) {
                puts("Sortie anticipée de la fonction  (moins de deux champs)\n");
                return true;
            }
    	const char*	Code = Chargeur.Champs(0);
    	const char* Chaine = Chargeur.Champs(1);
    	const char* NomActeur = Chargeur.Champs(2);
     
            printf("Infos: Code: %s, Chaine: %s, NomActeur: %s\n", Code, Chaine, NomActeur);
    	if(!m_Festivals.Ajouter(CRecompense(Chaine,NomActeur))) {
                  puts("L'ajout n'a pas fonctionné, sortie anticipée de la fonction!\n")
                  return true;
            }
     
           puts("L'ajout s'est fait avec succès.");
     
    	// Affichage des deux tableaux
            if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    	{
                  puts("Affichage des tableaux.\n");
    	      for (long n=0; n < m_Festivals.Nombre();n++)
    	       {
    		       CRecompense& Rec = m_Festivals.Element(n);
    		       printf("%s\n",Rec.Nom());
    	       }
    	} else
            {
                    puts("La valeur de Code ne permet pas d'afficher les tableaux (voir ci-dessus) \n");
            }
    	return true;
    }
    Normalement avec ça tu peux identifier la cause du problème..

    Que veux tu faire exactement? Si le code de l'acteur que tu ajoutes vaut RA, RF ou RR, tu affiches tout le tableau; ou alors tu veux n'afficher les noms que des acteurs dont le code est RA, RF ou RR?

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par coyotte507 Voir le message
    Salut,

    Le fait que rien ne soit affiché avec le puts voulait dire que le programme n'était pas parvenu jusque là, c'est à dire que le test avait échoué ou que la fonction avait retourné avant.

    Si tu veux voir où est le problème plus précisément , tu peux rajouter des affichages supplémentaires:

    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
    bool CTraitementFestivals::TraiterLigne(const CChargeurFichierTexte& Chargeur)
    {
    	if (Chargeur.NombreChamps() < 2) {
                puts("Sortie anticipée de la fonction  (moins de deux champs)\n");
                return true;
            }
    	const char*	Code = Chargeur.Champs(0);
    	const char* Chaine = Chargeur.Champs(1);
    	const char* NomActeur = Chargeur.Champs(2);
     
            printf("Infos: Code: %s, Chaine: %s, NomActeur: %s\n", Code, Chaine, NomActeur);
    	if(!m_Festivals.Ajouter(CRecompense(Chaine,NomActeur))) {
                  puts("L'ajout n'a pas fonctionné, sortie anticipée de la fonction!\n")
                  return true;
            }
     
           puts("L'ajout s'est fait avec succès.");
     
    	// Affichage des deux tableaux
            if((strcmp(Code,"RF") ==0)||(strcmp(Code,"RR") ==0) || (strcmp(Code,"RA")==0))
    	{
                  puts("Affichage des tableaux.\n");
    	      for (long n=0; n < m_Festivals.Nombre();n++)
    	       {
    		       CRecompense& Rec = m_Festivals.Element(n);
    		       printf("%s\n",Rec.Nom());
    	       }
    	} else
            {
                    puts("La valeur de Code ne permet pas d'afficher les tableaux (voir ci-dessus) \n");
            }
    	return true;
    }
    Normalement avec ça tu peux identifier la cause du problème..

    Que veux tu faire exactement? Si le code de l'acteur que tu ajoutes vaut RA, RF ou RR, tu affiches tout le tableau; ou alors tu veux n'afficher les noms que des acteurs dont le code est RA, RF ou RR?
    Salut,

    Merci pour ta réponse et le temps que t'as consacré pour moi.

    Tout le contenu du fichier txt s'affiche mais il n'y a aucun message du genre :


    L'ajout s'est fait avec succès.
    Je te laisse un jpg pour mieux te montrer.

    Voici plus d'info sur l'exercice :

    Le but de l'application est de permettre à l'utilisateur d'obtenir :
    * un tableau récapitulatif par réalisateur (ayant au moins reçu une récompense RF, RR ou RA) reprenant :
    - en ligne les différents types de récompenses (c'est à dire les noms des récompenses)
    - en colonne les différents genres de films
    - en cellule le nombre de fois que cette récompense lui a été remise pour un film de ce genre
    * un tableau récapitulatif reprenant :
    - en ligne les différents types de récompenses (c'est à dire les noms des récompenses)
    - en colonne les acteurs ayant au moins reçu une récompense (RA)
    - en cellule le nombre de fois que cette récompense lui a été remise pour sa participation dans un film
    Edit :

    oups j'ai oublié la photo, la voici

    Petite question :

    Quand on a ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const char*	Code = Chargeur.Champs(0);
    	const char* Chaine = Chargeur.Champs(1);
    	const char* NomActeur = Chargeur.Champs(2);
    et qu'on fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     printf("Infos: Code: %s, Chaine: %s, NomActeur: %s\n", Code, Chaine, NomActeur);
    les données ont déjà été chargées en mémoire ?

    Encore un tout grand merci pour ton aide (je te revaudrai cela, s'est promis)

    beegees

  6. #6
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Salut beegees,

    je me suis rendu compte d'une erreur dans le code que j'ai donné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                  puts("L'ajout n'a pas fonctionné, sortie anticipée de la fonction!\n")
                  return true;
    ==>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                  puts("L'ajout n'a pas fonctionné, sortie anticipée de la fonction!\n");
                  return true;
    (point virgule)

    J'espère que ce n'est pas visual C++ qui a laissé passé ça!

    Donc normalement tu devrais voir un message comme quoi "L'ajout n'a pas fonctionné, sortie anticipée de la fonction!" si mes prédictions sont juste.

    D'après l'exercice, je pense que tu dois pour chaque récompense sauvgarder le code en plus du nom de l'acteur..

    Je n'ai pas le temps là, je te répondrais plus tard pour le reste

    Salut!

  7. #7
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par coyotte507 Voir le message
    Salut beegees,

    je me suis rendu compte d'une erreur dans le code que j'ai donné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                  puts("L'ajout n'a pas fonctionné, sortie anticipée de la fonction!\n")
                  return true;
    ==>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                  puts("L'ajout n'a pas fonctionné, sortie anticipée de la fonction!\n");
                  return true;
    (point virgule)

    J'espère que ce n'est pas visual C++ qui a laissé passé ça!

    Donc normalement tu devrais voir un message comme quoi "L'ajout n'a pas fonctionné, sortie anticipée de la fonction!" si mes prédictions sont juste.

    D'après l'exercice, je pense que tu dois pour chaque récompense sauvgarder le code en plus du nom de l'acteur..

    Je n'ai pas le temps là, je te répondrais plus tard pour le reste

    Salut!
    Salut,

    Merci pour ta réponse.

    En fait mon compilo avait découvert l'erreur immédiatement et je l'ai donc ajouté le point-virgule.

    il affiche tout le texte normalement.

    Quand tu auras le temps, Saurais-tu regarder à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      for (long n=0; n < m_Festivals.Nombre();n++)
    	       {
    		       CRecompense& Rec = m_Festivals.Element(n);
    			   printf("%s\n",Rec.Nom());
    	       }
    ça ne fonctionne pas.

    Il va dans la méthode Indice, ça m'étonne un peu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CRecompense& CTabRecompenses::Element(long Indice) const
    {
    	return (CRecompense&)CTableauGenerique::Element(Indice);
    }
    et là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CGenerique& CTableauGenerique::Element(long Indice) const
    {
    	return ((Indice >= 0) && (Indice < m_Nombre)) ? *(m_Tableau[Indice]) : *m_Poubelle;
    }
    et n vaut à chaque fois zéro


    Encore merci pour ton aide.

    beegees

  8. #8
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Re-salut,

    C'est bizarre que chez toi la fonction 'puts' ne marche pas.
    Essaie de mettre à la place printf("blabla... \n") (en rajoutant bien le \n, il n'y en a pas besoin avec la fonction puts).

    Et comme ça on verra l'erreur...

    Parce que effectivement, même si ça se passe bien, "l'ajout a été effectué avec succès" devrait s'afficher.

    Bonne chance.

    Coyotte507

Discussions similaires

  1. Mes composants ne s'affichent pas
    Par michel71 dans le forum Débuter
    Réponses: 2
    Dernier message: 05/08/2007, 17h01
  2. mes image ne s'affiche pas
    Par vince351 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 05/04/2007, 13h00
  3. Réponses: 1
    Dernier message: 26/03/2007, 19h34
  4. [Outils][Crystal Report] Pourquoi mes icones ne s'affichent pas ?
    Par tonynho dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 12/05/2006, 15h29
  5. [HTML Workshop] Mes images ne s'affichent pas
    Par lamarre aisha dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 25/10/2005, 13h33

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