Comment manipuler printf et scanf apartir des structures [Résolu]

Signaler
Messages postés
3
Date d'inscription
samedi 26 novembre 2011
Statut
Membre
Dernière intervention
26 novembre 2011
-
boujerra
Messages postés
11
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
25 novembre 2012
-
Bonjour,j'ai une grosse problème,et j’espère que je trouvera une solution grâce a vous:
j'ai une structure par exemple:
typedef struct
{
int age;
float moy;
char nom[10];

}eti;
puis j declare
eti *e;
printf("donner N:");
scanf("%d",&N);
e=malloc(N*sizeof(eti));
for(i=0;i<N;i++)
{
printf("donner nom de %d\n",i+1);
scanf("%s",&e->nom[i]);
printf("donner la moyenne de %d\n",i+1);
scanf("%f",e->moy[i]);
}
printf("le %s a une moyenne de %f",e->nom[1],e->moy[1]);
Je confuse toujours,q'est il faut maître au place de "rouge"

2 réponses

Messages postés
11
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
25 novembre 2012

En ce qui concerne ton problème,
for(i=0;i<N;i++)
{
printf("donner nom de %d\n",i+1);
scanf("%s",e->nom[i]);/*n'a pas boisoin de & */
printf("donner la moyenne de %d\n",i+1);
scanf("%f",&e->moy[i]);/*besoin de & */
}
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
10
Salut,

Il y a une balise code qui permet de copier coller du code sur ce site tout en bénéficiant de la coloration syntaxique et pour préserver l'indentation (Troisième icône en partant de la droite).

Ce que ça donne sur ton code :
typedef struct
{
  int age;
  float moy;
  char nom[10];
} eti;

eti *e;
printf("donner N:");
scanf("%d",&N);
e=malloc(N*sizeof(eti));
for(i=0;i<N;i++)
{
  printf("donner nom de %d\n",i+1);
  scanf("%s",&e->nom[i]);
  printf("donner la moyenne de %d\n",i+1);
  scanf("%f",e->moy[i]);
} 


Mais c'est vrai que tu perdrais le rouge.

En ce qui concerne ton problème, te donner la solution toute cuite ne te servirait pas à grand chose.
Toujours est-il que le tableau, c'est e. D'ailleurs c'est un peu court comme nom de variable e. Essaie de coder en anglais et de donner des noms qui permettent de voir tout de suite à quoi sert la variable (Exemple e -> students).

Cours sur les pointeurs ici.