Demande aide sur les structures
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Demande aide sur les structures



  1. #1
    nizarkhalloufi

    Demande aide sur les structures


    ------

    Salut, je viens de commencer a apprendre le langage c et j'essaie de faire quelques exercices simples sur les structures. j'ai écris ce code avec codeblocks et je sais pas pourquoi ça ne marche pas.
    S'il vous plais est ce que quelqu'un peut m'expliquer pourquoi.

    #include <stdio.h>
    #include <stdlib.h>



    typedef struct Personne Personne;
    struct Personne
    {
    char nom[100];
    char prenom[100];
    char adresse[1000];
    long age;
    int garcon;
    };
    int main()
    {
    long i=0, j=0;
    Personne utilisateur[4];
    for(i=0 ; i<4 ; i++)
    {
    printf("Quel est votre nom ? ");
    scanf("%s", utilisateur[i].nom);
    printf("Votre prenom ? ");
    scanf("%s", utilisateur[i].prenom);
    printf("Votre adresse ? ");
    scanf("%s", utilisateur[i].adresse);
    printf("Votre age ? ");
    scanf("%ld", utilisateur[i].age);
    printf("Votre sex ?\n1.garcon\n2.fille\n");
    scanf("%d", utilisateur[i].garcon);
    while(utilisateur[i].garcon < 1 || utilisateur[i].garcon > 2)
    {
    printf("resseyez :");
    scanf("%d", utilisateur[i].garcon);
    }
    if(utilisateur[i].garcon == 2)
    utilisateur[i].garcon=0;
    }
    for(j=0 ; j<4 ; j++)
    {
    if(utilisateur[j].garcon)
    printf("L'utilisateur n°%ld est un garcon appele %s %s qui habite a %s et qui a %ld ans d'age\n", j+1,utilisateur[j].prenom, utilisateur[j].nom, utilisateur[j].adresse, utilisateur[j].age);
    else
    printf("L'utilisateur n°%ld est une fille appelee %s %s qui habite a %s et qui a %ld ans d'age\n", j+1,utilisateur[j].prenom, utilisateur[j].nom, utilisateur[j].adresse,utilisateur[j].age);
    }
    return 0;
    }

    -----

  2. #2
    bisou10

    Re : Demande aide sur les structures

    Salut,

    C'est quoi 'ca ne marche pas' ?

  3. #3
    nizarkhalloufi

    Re : Demande aide sur les structures

    ca se bloque ici : scanf("%d", utilisateur[i].garcon);

  4. #4
    nizarkhalloufi

    Re : Demande aide sur les structures

    ca se bloque ici : scanf("%d", utilisateur[i].garcon);

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : Demande aide sur les structures

    Ca serait bien de respecter les consignes de ce forum, notamment la présentation du code (indentation, balises code)

    Sinon, essaie avec:
    Code:
    scanf("%d", &utilisateur[i].garcon);

  7. #6
    Sebdraluorg

    Re : Demande aide sur les structures

    Citation Envoyé par Jack Voir le message
    Sinon, essaie avec:
    Code:
    scanf("%d", &utilisateur[i].garcon);
    A noter que utilisateur[i].age doit également contenir une valeur aléatoire dans l'exemple donné.

    ca se bloque ici : scanf("%d", utilisateur[i].garcon);
    Oui car tu dois passer le pointeur de ta variable à scanf pour qu'il puisse mettre dedans ce que l'utilisateur rentrera, sans lui indiquer le pointeur (avec le signe & comme indiqué par Jack) scanf ne sait pas remplir la variable car il ne la voit pas, il ne voit que sa valeur !
    Si tu indique '&' devant, scanf il verra alors l'adresse ta variable et pourra la remplir.

    Autre petite chose, lorsque tu travail avec des structures il est plus prudent de les initialiser à zero avec un memset car ici le champs garcon aurait pu contenir une valeur correspondant à une adresse valide ce qui aurait eu pour conséquence de corrompre la mémoire de ton programme.

  8. #7
    nizarkhalloufi

    Re : Demande aide sur les structures

    merci bien. j'ai résolu le probleme et c'est bien ça, il faut ecrire
    scanf("%ld", &utilisateur[i].age);
    scanf("%d", &utilisateur[i].garcon);

Discussions similaires

  1. aide mécanique des structures sur poutres
    Par invite6d662d9e dans le forum Technologies
    Réponses: 4
    Dernier message: 12/09/2010, 18h18
  2. Besoin d'aide pour exercice de mécanique des structures
    Par invitee440113d dans le forum Physique
    Réponses: 2
    Dernier message: 26/11/2009, 19h45
  3. C : Initialisation de structures/tableaux de structures
    Par invitef1d0ad93 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 12/08/2008, 10h57
  4. projet bts: avis et aide sur mes structures
    Par pol5700 dans le forum Électronique
    Réponses: 28
    Dernier message: 19/03/2007, 13h21