salut
je voulais rebouler un programme ,mais ceci ne marche pas.
le principe est simple:on prends un booléen que l'on initialise à 0 et des que l'utisateur tappe la lettre O ou o ,la variable recoie 1 ,avec biensûr un do..while :
voici une partie de mon code source :
et voila la fct supprime
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 struct information_operation { char nom_operation[20]; int num_operation; char date[12]; char id_lecteur[50]; char id_code_livre[50]; }; typedef struct operation { struct information_operation inf_op; //c une structure comprotant les informations . struct operation *suivant; }maillon; typedef maillon* liste;
le problème que lorsque je exécute le programme et je supprime une opération ,je revient pour afficher la liste je trouve que au lieu de l 'opération j 'ai des caractères spéciaux .
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 liste suppresssion(liste l) { liste tmp=l,avantTmp=l; int numAsuprimmer; printf(\"taper le numéros de l\'operation à supprimer:\"); scanf(\"%d\",&numAsuprimmer); if (l==NULL) { printf(\"Attention ! il n\'y a aucune opération à supprimer \"); getch(); return NULL; } if (l->suivant==NULL) { free(l); return NULL; } else { while ((tmp!=NULL)&&(tmp->inf_op.num_operation!=numAsuprimmer)) { avantTmp=tmp; tmp=tmp->suivant ; } if(tmp->suivant==NULL ) { printf(\"le numéro de l\'opération n\' exite pas !\"); return NULL; } else { avantTmp->suivant=tmp->suivant; free(tmp); } } return l; }
merci de m 'aidez à trouver le problème !
Partager