Bonjour,

j'ai deux probleme au niveau d'un scanf et au niveau d'un gets, ils ne prennent pas de valeur en compte,
-le scanf me permet de saisir mais ne stocke pas de valeur
-le gets quand à lui ne me permet meme pas la saisie

Donc programme bancale, je ne vois pas ce qui ne va pas (surement besoin de lunettes...)apres plusieurs tentatives infructueuses I NEED HELP!!!

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
 
#include<stdio.h>
#include<string.h>
 
#define MAX_ELEVES 32
 
typedef struct
{
	char nom[30];
	char prenom[30];
	int age;
}
eleve;
 
eleve MaClasse[MAX_ELEVES];
 
void Remplir (eleve MaClasse[], int p)
{	
	int i=0;
	while(i<p)
		{	getchar();
			printf("\n Nom?\n");
			gets(MaClasse[i].nom);
			printf(" Prenom?\n");
			gets(MaClasse[i].prenom);
			printf(" Age?\n");
			scanf("%d",&MaClasse[i].age);//je ne trouve pas le probleme qui fait que ça marche pas
			i++;
		}
}
 
void Afficher (eleve MaClasse[],int p)
{	
	int i=0;
	while(i<p)
	{
		printf("\n Nom:        %s\n Prenom:     %s\n Age:        %d\n",MaClasse[i].nom,MaClasse[i].prenom,&MaClasse[i].age);
		i++;
	}
}
 
void Rechercher (eleve MaClasse[],int p)
{
	int i;
	char nom_eleve[30];
	printf("\nEntrez le nom d'un eleve pour savoir si il est inscrit dans cette classe\n");
	gets (nom_eleve);//mon gets ne prend rien
	for(i=0;i<p;i++)
	{
	if (strcmp (nom_eleve,MaClasse[i].nom)==0)
		printf("%s est inscrit dans cette classe\n",nom_eleve);	
	}
}
 
main()
{ 	
	int NbEleves;
	struct eleve;
 
	printf("Saisissez le nombre effectif d eleves\n");
	scanf("%d",&NbEleves);
	Remplir (MaClasse,NbEleves);
	Afficher (MaClasse,NbEleves);
	Rechercher(MaClasse,NbEleves);
}
PS: au temps pour moi, le "scanf" c'était en fait le printf de la fonction "Afficher" auquel j'avais ajouté un "&" Pardon...