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