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 : 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 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; } }
Partager