Urgent : mon Script liste chainée marche pas

Résolu
narama87 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   -  
narama87 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

SVP , j'ai besoin de votre aide , je travaille sur les listes chainées , qui bloque et ne passe pas ,
voici mon code source :
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

struct p{
int ref;
char nom[30];
float p_vente,p_achat;
struct p* next;
};
typedef struct p * produit;
produit ajouter_enfin(produit list);
void afficher_tout(produit list);




main()
{
produit la_liste,la_liste_ret;
la_liste_ret=ajouter_enfin(la_liste);
afficher_tout(la_liste_ret);
}

//Fonction Ajouter_enqueue

produit ajouter_enfin(produit list){
/* allocation du noeud */
produit p_new = (produit)malloc (sizeof (produit));

/* si tout s'est bien passe : */
if (p_new != NULL)
{
/* mise a jour des champs : */

/* donnees */
printf("donner le ref de produit");
scanf("%d",&p_new->ref);
printf("donner le nom du produit");
scanf("%s",&p_new->nom);
printf("donner la prix d'achat ");
scanf("%f",&p_new->p_achat);
printf("donner la prix de vente");
scanf("%f",&p_new->p_vente);


/* chainage par defaut */
p_new->next = NULL;

/* chainage */
if (list == NULL)
{
/* c'est le premier : */
list = p_new;
}
else
{
/* on cherche le dernier noeud */
produit p = list;

while (p->next != NULL)
{
/* pointer sur le suivant */
p = p->next;
}

/* modification du chainage */
p->next = p_new;
}
}
return list;
}


//Procédure affichage

void afficher_tout(produit list){

if(list==NULL){
printf("aucune liste a afficher ajoutez une\n");
}
else
{
printf("la ref de produit est:%d\n",list->ref);
printf("le nom de produit est:%s\n",list->nom);
printf("le prix d'achat de produit est:%f\n",list->p_achat);
printf("le prix de vente de produit est:%f\n",list->p_vente);
}



}

De l'aide svp !!!!

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
qui bloque et ne passe pas
OUA !! je suis impressionné, quelle précision dans la description du problème.
0
narama87 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   4
 
en fait c'est ce qui se passe , aucune erreur ne s'affiche , mais lorsque j'essai de bedogguer , ça bloque au niveau de "while (p->next != NULL) " , mais ne m'affiche aucune indication .
une idée ?
0
narama87 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   4
 
un autre détail j'utilise dev c++ 4.9.9.2 , tu veux une autre indication ?
0
narama87 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   4
 
j'ai trouvé la solution , la liste au niveau du main doit être initialisée à NULL.
merci comme meme
0