probleme d'affichage avec les string d'1 liste chainee
Bonsoir, jai un probleme avec des liste chainee:
j'arrive a ajouter des maillons, il les affiche bien, sauf que pour les chaine de caracteres il me sort de caractere crypté genre:
prenom:╠╠╠╠╠╠╠╠ nom:╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ note:1.000000
par contre quand je met direct la chaine de caracteres entre guillemets a l'ajout d'un maillon, la il le met bien:
nouvelElement->nom = "nicaloas";
ps: pas de probleme pour les entir ou float..
voici mes 2 fonctions en question:
Code:
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
| typedef struct element element;
struct element
{
char *nom;
char *prenom;
float note;
struct element *suivant;
};
typedef element* llist;
//------------------------
llist ajouterQueue(llist liste){
char nom[10]=0;
char prenom[10];
float note=0;
element* nouvelElement;
nouvelElement = (struct element *) malloc(sizeof(struct element));
printf("nom:\n");
scanf("%s",nom);
printf("prenom:\n");
scanf("%s",prenom);
printf("note:\n");
scanf("%f",¬e);
nouvelElement->nom = nom;
nouvelElement->prenom = prenom;
nouvelElement->note = note;
nouvelElement->suivant = NULL;
if(liste == NULL)
{
return nouvelElement;
}
else
{
element* temp=liste;
while(temp->suivant != NULL)
{
temp = temp->suivant;
}
temp->suivant = nouvelElement;
return liste;
}
}
//----------------
void afficherListe(llist liste)
{
element* tmp = liste;
while(tmp != NULL)
{
printf("prenom:%s nom:%s note:%f \n", tmp->nom,tmp->prenom,tmp->note);
tmp = tmp->suivant;
}
} |