Bonjour a tous et merci d'avance pour l'aide que vous pourrez me donner,
Ma fonction insert un élement d'une structure fournisseur au bonne emplacement dans la chaine (je la classe d'abord par ville ensuite par les noms);
Mon problème c'est quand je veux ajouter 1 élément qui porte le même nom que mon 1er élement de ma liste mon programme crach en me disant qu'il y a un problème à cette endroit mais je ne vois pas ou est le problème.
Si vous pourriez m’éclaircir pcq je ne vois pas trop ou est l'erreur.
Merci d'avance et au plaisir de vous lire.
Voila ma fonction:
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 FOURNISSEUR *InsertElemFournisseur(FOURNISSEUR *Fournisseur,FOURNISSEUR *ElemIns) { FOURNISSEUR *ElemCourrant,*ElemPrec; ElemPrec = NULL; ElemCourrant = Fournisseur; if (ElemCourrant == NULL || strcmp(ElemCourrant->ville, ElemIns->ville) >=0 ) { if (ElemCourrant != NULL && strcmp(ElemCourrant->ville, ElemIns->ville) == 0) { while (ElemCourrant != NULL && strcmp(ElemCourrant->nomFournisseur, ElemIns->nomFournisseur) < 0 ) { ElemPrec = ElemCourrant; ElemCourrant = ElemCourrant->Next; } ElemPrec->Next = ElemIns; ElemIns->Next = ElemCourrant; } else { ElemIns->Next = ElemCourrant; ElemCourrant = ElemIns; } } else { while (ElemCourrant->Next != NULL && strcmp(ElemCourrant->ville,ElemIns->ville) < 0) { ElemPrec = ElemCourrant; ElemCourrant = ElemCourrant->Next; } if (!(strcmp(ElemCourrant->ville, ElemIns->ville))) { while (strcmp(ElemCourrant->nomFournisseur, ElemIns->nomFournisseur) < 0 && ElemCourrant->Next != NULL) { ElemPrec = ElemCourrant; ElemCourrant = ElemCourrant->Next; } } ElemIns->Next = ElemCourrant; ElemCourrant = ElemIns; } return ElemCourrant; }
Partager