une fonction supprime qui ne marche pas!
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 :
Code:
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; |
et voila la fct supprime
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
| 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;
} |
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 .
merci de m 'aidez à trouver le problème !