Bonjour,
j'essaye de faire une liste de chevaux de course en C, voici ma structure:
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
 
struct Liste_ch
 
{
 
       char Nom[20];
 
       int age;
 
       char sexe;
 
       int courses;
 
       int victoires;
 
       char driver[20];
 
       struct Liste_ch *next;
 
};
j'ai définis une fonction pour ajouter un élément à la liste que voice:
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
// fonction d'ajout d'un cheval à la liste de course.
 
 
 
liste_ch* ajouter_cheval(liste_ch *lcheval)
 
{
 
          liste_ch *l;
 
          if((l=(liste_ch*)malloc(sizeof(liste_ch)))==NULL)
 
          {printf("Erreur d'allocation !\n");
 
          exit(-1);
 
          }
 
 
 
          printf("Entrer le nom du cheval:\n");
 
          scanf("%s",l->Nom);
 
          printf("Entrer l'age:\n");
 
          scanf("%d",&l->age);
 
          printf("Entrer le sexe M/F/H: \n");
 
          l->sexe = getchar();
 
          printf("Entrer le nombre de courses du cheval:\n");
 
          scanf("%d",&l->courses);
 
          printf("Entrer le nombre de victoires du cheval:\n");
 
          scanf("%d",&l->victoires);
 
          printf("Entrez le nom du driver:\n");
 
	  scanf("%s",l->driver);
 
 
 
          l->next= lcheval;
 
          lcheval = l;
 
 
 
          return(l);
 
          }
le premier souci que j'ai eu c'est que je peux pas utiliser la fonction "gets" pour lire mes chaines de caractères, le compilateur envois ce message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
In function `ajouter_cheval':
liste.c:(.text+0xf9): warning: the `gets' function is dangerous and should not be used.
je veux bien utiliser "gets" à la place de " scanf("%s") ".
le deuxième souci c'est quand je veux lire le caractère sexe, à l'éxecution du programme ça saute toujours cette étape, et je peux rien entrer,
je sais pas ou est l'erreur, quelqu'un peut m'aider ??
merci.


Marouane.