Bonjours,

voila lorsque je supprime le premier maillon de ma liste, ce maillon n'est pas supprimer. Peu importe la manière que je fasse le problème subsiste toujours
voici la fonction du suppression :


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
 
void supprimer(livre *debut,int *nb)
{
    char titre[61],titretmp[61],tmp[2];
    int i;
    livre *encourt,*suivant,*precedent;
 
    printf("\nEntrez le titre du livre :");
    gets(titre);
 
    encourt = debut;
 
    for(i=0;i<nb-1;i++)
    {
 
        if((strcmp(titre,encourt->titre) == 0) && (i==0))
        {
            debut = encourt->suivant;
 
            free(encourt);
            (*nb) = (*nb) - 1;
 
            if((*nb) == 1)
            {
                debut->suivant = NULL;
            }
 
            break;
        }
        if(strcmp(titre,encourt->titre)==0)
        {
            suivant = encourt->suivant;
            precedent->suivant = suivant;
            free(encourt);
            (*nb) = (*nb) - 1;
            break;
        }
        if((strcmp(titre,encourt->titre)==0) && (encourt->suivant == NULL))
        {
            precedent->suivant = NULL;
            free(encourt);
            (*nb) = (*nb) - 1;
            break;
        }
        precedent = encourt;
        encourt = encourt->suivant;
    }
}