voila j'ai un probleme en liste chaine en langage mon code cet comme suite.
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
 
typedef struct liste
{
  int               id;
  int               pos;
  char  nom_prenom[20];
  struct  liste  *suiv;
} list;
 
////////////////////////////////////
// Ajoute un maillon en fin de liste
////////////////////////////////////
void Add(list *s, char data[20])
{
  list  *next;
  int pos;
  pos=0;
  next = s;
  while(next->suiv)
  {
    next = next->suiv;
  }
 
  next->suiv = malloc(sizeof(list));
 
  (next->suiv)->pos = 1;
  (next->suiv)->id = 0;
  strcpy( (next->suiv)->nom_prenom,data);
  (next->suiv)->suiv = NULL;
  pos++;
}
 
 
 
/////////////////////////////////
// Detruit un maillon de la liste
/////////////////////////////////
int Delete(list *s, int pos)
{
  list  *next, *sav;
  int   i;
 
 
  next = s;
  i = 0;
  while(next->suiv && i < pos-1)
  {
    next = next->suiv;
    i++;
  }
 
  if(i == pos-1)
  {
    sav = (next->suiv)->suiv;
    free(next->suiv);
    next->suiv = sav;
 
    return 1;
  }
  else
  {
    return 0;
  }
}

pour miux manupile mon application il faut que je trouve un truc pour
-soit une fonction qui cherche dans la liste a pour parametre (nom_prenom ) et qui routerne un pointeur et son position .
- soit avoir le tete de la liste pour rendre la recherche souple et simple.



voila mon fonction de recherche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
pointeur  search( list*tete,char v[20])
 
{list*p;
p=tete;
   while ( p!=NULL &&  strcmp(v,p->nom_prenom)
{
  p=p->suiv;
 
}
 
return p;
}
donc il faut que je puis avoir identifie le tete de la liste

evite les erreur de frapp

[-mod- ajout des balises code]