[C] liste chainée simples problème pointeur ?

Fermé
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 - 20 juil. 2008 à 11:09
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 20 juil. 2008 à 19:40
Bonjour,

J'ai un programme dans lequel j'utilise des listes chainées.

Voiçi la partie intéressante de mon main :

InsertionEnTete(pp_liste,nom,valeure,variation,ouverture,pbas,phaut,volume);


Là mes structures :
typedef struct donnee{
        float valeur;
        donnee *p_suivant;
        }donnee;
        
typedef struct {
        char nom[100];
        donnee *valeur;
        float pourcentage;
        float variation,ouverture,pbas,phaut;
        int volume;
        char heure[128];
        }Action;

typedef struct fiche {
        Action UneAction;
        fiche *p_suivant;
        }fiche;


Et donc là mes fonction qui posent problèmes !!!

void InsertionEnTete2(donnee **liste,float valeur)
{
    
	donnee *nouveau;
	nouveau=(donnee*)malloc(sizeof(donnee));
    nouveau->valeur=valeur;
	nouveau->p_suivant=*liste; // vu qu'on insert en tête
	*liste=nouveau;//on met comme tête le nouveau "jeton" de la liste chainée
}

void InsertionEnTete(fiche **p_liste,char *nom,float valeur, float variation,float ouverture,float pbas,float phaut,int volume)
{
	fiche *nouveau;
	nouveau=(fiche*)malloc(sizeof(fiche));
	strcpy(nouveau->UneAction.nom,nom);
	InsertionEnTete2(&(*p_liste)->UneAction.valeur,valeur); // on va s'occuper de la liste chainée imbriquée
        nouveau->UneAction.variation=variation;
        nouveau->UneAction.ouverture=ouverture;
        nouveau->UneAction.pbas=pbas;
        nouveau->UneAction.phaut=phaut;
        nouveau->UneAction.volume=volume;    
	nouveau->p_suivant=*p_liste;
	*p_liste=nouveau;
}


Donc le but est de remplir les champs variation, ouverture, pbas, phaut volume, mais ça j'y arrive.
Par contre je n'arrive pas à chainer la liste chainée imbriquée.
En effet, je souhaiterais mettre la variable valeur dans une liste chainée (de type donnee).

Je n'y arrive hélas pas, il y a un message d'erreur windows qui apparait mais je ne sais pas pourquoi.

Merci pour l'aide !

2 réponses

jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 32
20 juil. 2008 à 17:20
s'il vous plait de l'aide car je n'y arrive toujours pas.
Merci
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
20 juil. 2008 à 19:40
Salut,

un exemple tu l'avais ici http://www.commentcamarche.net/forum/affich 6061142 c liste chainee dans liste chainee#3


Par contre je n'arrive pas à chainer la liste chainée imbriquée.
Pour imbriquer la liste il me semble qu'il te manque un pointeur dans la définition de ta structure

tu as le pointeur *p_suivant qui te permet d'enchainer ta liste
il te faut aussi un pointeur qui pointera vers la tête de la liste imbriquée
0