Bonjour,

Cela fait quelques jours que j'essaie de supprimer un élément d'une liste triée en le passant par paramètre, mais cela ne fonctionne pas (au lieu de ça, la liste entière est supprimée). Voici ce que j'ai fait :


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
void annulerReservation(reservation*& listeReservation, reservationFichier uneReservation, livre *listeLivres, abonne *unAbonne, int & numeroAbonneAnnule, char isbnAnnule[20])
{
 
	reservation* precedent = listeReservation;
 
	livre * livreAnnule;
	livreAnnule = chercherIsbn(listeLivres, isbnAnnule);
 
	abonne * abonneAnnule;
	abonneAnnule = chercherAbonne(unAbonne, numeroAbonneAnnule);
 
	if(precedent == NULL && strcmp(livreAnnule -> isbn , isbnAnnule) == 0)
	{
		listeReservation = NULL;
		delete precedent;
		return;
	}
 
	while(precedent != NULL && precedent ->quiAReserve != abonneAnnule && precedent ->quelLivre != livreAnnule)
		precedent = precedent->reservSuivAbonne;
 
	if(precedent == NULL) return;
	 precedent = precedent->reservSuivAbonne;
	delete precedent;
	precedent = NULL;
}
Merci d'avance