Comment manipuler printf et scanf apartir des structures

Résolu
wissouramos Messages postés 3 Date d'inscription samedi 26 novembre 2011 Statut Membre Dernière intervention 26 novembre 2011 - 26 nov. 2011 à 16:35
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012 - 5 déc. 2011 à 20:41
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

boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012
5 déc. 2011 à 20:41
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 & */
}
3
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
26 nov. 2011 à 18:22
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.
0