Les structures en langage c

oujdaoujda Messages postés 96 Statut Membre -  
oujdaoujda Messages postés 96 Statut Membre -
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);

3 réponses

  1. tsou
     
    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
  2. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    age c'est un int donc tu dois metre %d pour l'afficher pas %s
    printf(" votre age est %d \n",pp.age);
    -1
  3. oujdaoujda Messages postés 96 Statut Membre 3
     
    merci les amis,mais sayé c'est deja marché en tt cas je vous remercie
    -1