Bonsoir, j'au un problème dans mon code ! Assez bizarre d'ailleurs .

voila j'ai une erreur : "Suivant n'est pas un membre de cellule !"

Cela s'adresse à la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 l->courant->precedent->suivant=l->courant
-> dans la fonction addItemInEnd

-> et dans la fonction DeleteItem

voila mon code :
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include <math.h>
 
 
 
// D‚claration de mes structures de données
//************************************************************************
struct cellule
{
  void * data;
  struct cellule * suivant;
  struct celulle * precedent;
};
 
 
 
struct liste
{
  struct cellule * depart;
  struct cellule * courant;
  struct cellule * fin;
};
 
 
 
//Initialisation de la liste
//**************************************************************************
void initList( struct liste * l )
{
  l->depart = ( struct cellule * ) malloc( sizeof( struct cellule ) );
  l->fin = ( struct cellule * ) malloc( sizeof( struct cellule ) );
  l->fin->precedent = l->depart;
  l->depart->suivant = l->fin;
  l->fin->suivant = NULL;
  l->depart->precedent = NULL;
 
 
 
}
 
// Ajout d'un élement dans la liste
//***************************************************************************
 
 
void add_itemInEnd( struct liste * l, void * data )
{
  int * item, * inserted;
 
 
 
  l->courant = l->depart->suivant;
 
 
  while ( l )
  {
    if ( l->courant->suivant == NULL )
    {
      l->courant->suivant = ( struct cellule * ) malloc( sizeof( struct cellule ) );
      l->courant->precedent->suivant = l->courant;
      l->courant->suivant->precedent = l->courant;
      l->courant = l->courant->suivant;
      l->courant->data = data;
      l->courant->suivant = NULL;
 
 
    }
 
    else
    {
      l->courant = l->courant->suivant;
 
    }
 
  }
 
}
 
// Suppression d'un élement dans la liste
//*****************************************************************************
 
void delete_item( struct liste * l, void * data )
{
  int * element, * inserted;
  int deleted = 0;
  l->courant = l->depart->suivant;
 
 
  while ( l )
  {
    inserted = ( int * ) data;
 
    element = ( int * ) l->courant->data;
 
 
    if ( * inserted == * element )
    {
      l->courant->precedent->suivant = l->courant->suivant;
 
      l->courant->suivant->precedent = l->courant->precedent;
 
      free( l->courant );
      deleted = 1;
 
    }
    else
    {
      l->courant = l->courant->suivant;
 
    }
 
 
  }
 
  if ( deleted == 1 )
  {
    printf( " Item was deleted successfully\n" );
    getchar();
  }
 
  else
  {
    printf( " Item not found \n" );
    getchar();
  }
 
 
}
Merci pour votre aide .