Les structures en langage c

Fermé
oujdaoujda Messages postés 82 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 31 août 2010 - 26 août 2008 à 19:21
oujdaoujda Messages postés 82 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 31 août 2010 - 29 août 2008 à 03:20
Bonjour,
svp aider moi j'ai une structure là voilà
typedef struct personne personne;
struct personne {
char nom[100];
char prenom[100];
char adresse[100];
int age;
int sexe;
};
dans le programme principale
int main(int argc, char *argv[])
{

personne pp;
puts(" svp votre nom ");
gets(pp.nom);
printf(" votre nom est %s \n",pp.nom);
puts(" svp votre prenom ");
gets(pp.prenom);
printf(" votre prenom est %s \n",pp.prenom);
puts(" svp votre adreese");
gets(pp.adresse);
printf(" votre adresse est %s \n",pp.adresse);
puts(" svp votre age ");
scanf("%d",&pp.age);
printf(" votre age est %s \n",pp.age);
puts(" svp votre sexe ");
scanf("%d",&pp.sexe);
if(pp.sexe==1) { printf(" vous etes garcon \n");}
else if(pp.sexe==0) {printf(" tu es une fille \n");}
else { printf(" entrer soit 1 soit 2"); }
l'erreur est quand le programme demande :svp entrer votre age
le programme plante.je pense l'erreur dans cette ligne alors aider moi scanf("%d",&pp.age);
A voir également:

3 réponses

essayes comme ca.




#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Bonjour,
//svp aider moi j'ai une structure là voilà
typedef struct personne personne;
struct personne {
char nom[100];
char prenom[100];
char adresse[100];
char age[3];
char sexe[2];
char nat[3];
};
// dans le programme principal
int main(int argc, char *argv[])
{

personne pp;

puts(" svp votre nom ");
gets(pp.nom);
printf(" votre nom est %s \n",pp.nom);
puts(" svp votre prenom ");
gets(pp.prenom);
printf(" votre prenom est %s \n",pp.prenom);
puts(" svp votre adresse");
gets(pp.adresse);
printf(" votre adresse est %s \n",pp.adresse);
puts(" svp votre age ");
gets(pp.age);
printf(" votre age est %s \n",pp.age);
puts(" svp votre sexe ");
gets(pp.sexe);

if (strcmp(pp.sexe,"1")==0)
{
printf("vous etes un garcon \n");
}
else
if (strcmp(pp.sexe,"2")==0)
{
printf("vous etes une fille \n");
}
else
printf("vous devez entrer 1 ou 2 \n");
gets(pp.nat); // pour arreter le programme et voir le resultat
return 0;

}


salut.
Thar
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
26 août 2008 à 19:35
age c'est un int donc tu dois metre %d pour l'afficher pas %s
printf(" votre age est %d \n",pp.age);
-1
oujdaoujda Messages postés 82 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 31 août 2010 3
29 août 2008 à 03:20
merci les amis,mais sayé c'est deja marché en tt cas je vous remercie
-1