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 : 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;
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
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 !