Help sur les listes chainée plzz

mrism000 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
mrism000 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -
bonsoir les amis

je travaille sur une liste chainée qui comme structures :


struct noeud ;
typedef noeud* Liste;
struct Personne
{
char nom[25];
int age ;
};

struct noeud
{
Personne liste_pers;
Liste suiv ;
};

mais cette fct ne marche pas et je ne sais po prk :

void insertion(Liste pers, char nom[],int age)
{
/* Création du nouvel élément */
noeud* nouv ;
nouv = new noeud ;
if (pers == NULL || nouv == NULL)
{
exit(EXIT_FAILURE);
}
strcpy(nouv->liste_pers.nom,nom);
nouv->liste_pers.age = age;
/* Insertion de l'élément au début de la liste */
nouv->suiv= pers;
pers = nouv;

}


il n'ajoute rien a la chaine

int main()
{
Liste pers = lirePers() ;
char nomPers[25];
int age ;
insertion(pers,nomPers,age);
affichageListe(pers);

return 0;
}


merci .

1 réponse

  1. kelevra
     
    Bonsoir,
    tu codes bien en C ? car il y a "nouv = new noeud ; "
    il n'y a de new en C. Il faut faire un malloc
    je dirais aussi qu'il faut mettre un poiteur sur liste et non la liste en parametre de la fonction insertion
    void insertion(Liste *pers, char nom[],int age)

    En ésperant que cela t'ai aider
    0
    1. mrism000 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
       
      nouv = new noeud C'est EN C++ et je dois pas faire Liste *pers par ce que j'ai deja declarer typedef noeud* Liste; ca veut dire que noeud* est equivalent à Liste
      0