Bonjour,
j'essaye de faire une liste de chevaux de course en C, voici ma structure:
j'ai définis une fonction pour ajouter un élément à la liste que voice:Code:
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; };
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:
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); }
je veux bien utiliser "gets" à la place de " scanf("%s") ".Code:
1
2 In function `ajouter_cheval': liste.c:(.text+0xf9): warning: the `gets' function is dangerous and should not be used.
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.