Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercice crée vos propre variable en C

plantage du programme

Sujet résolu
    18 février 2018 à 18:44:18

    Bonjours a tous, c'est mon premier post sur le forum j’apprends en ce moment le C qui est mon premier langage et j'ai un problème au petit exercice sur le cour "crée vos propre type de variable".

    Tous ce passe bien jusqu'a  ce que le programme me demande de rentrée mon age mais une fois mon age (ligne 22) rentrée le programme plante et je n'arrive vraiment pas a comprendre qu'elle est mon erreur, je pense que sa doit être liée au fait que ce soit une variable int car tout ce qu'il y a avant fonctionne (nom, prenom, adresse) type char .

    Donc voila si quelqu’un aurait la gentillesse de m'expliquer mon erreur j’apprécierais vraiment, merci d'avance. :)

    main.h

    typedef struct personne personne;
    struct personne
    {
        char nom[100];
        char prenom[100];
        char adresse[1000];
    
        int age;
        int homme;
    };

    main.c

    #include <stdio.h>
    #include <stdlib.h>
    #include "main.h"
    
    int main()
    {
        personne joueur[2];
        int i;
    
        for(i = 0; i < joueur; i++)
        {
            printf("Quel est votre nom ? : ");
            scanf("%s", joueur[i].nom);
    
            printf("Quel est votre prenom ? : ");
            scanf("%s", joueur[i].prenom);
    
            printf("Quel est votre adresse ? : ");
            scanf("%s", joueur[i].adresse);
    
            printf("Quel est votre age ? : ");
            scanf("%d", joueur[i].age);
    
            printf("Etes vous un homme (si oui tapez 1) ? : ");
            scanf("%d", joueur[i].homme);
    
            if(i = 1)
            {
                printf("Joueur 1 : \n");
            }
            else
            {
                printf("Joueur 2 : \n");
            }
                printf("Vous vous appeler %s %s\n", joueur[i].nom, joueur[i].prenom);
                printf("Vous habitez a %s\n", joueur[i].adresse);
                printf("Vous avez %d ans\n", joueur[i].age);
                if(joueur[i].homme = 1)
                {
                    printf("Vous etes un homme\n");
                }
                else
                {
                    printf("Vous etes une femme\n");
                }
    
        }
        return 0;
    }



    • Partager sur Facebook
    • Partager sur Twitter
      18 février 2018 à 19:22:27

      Salut,

      La fonction scanf() s'attend à ce qu'on lui donne une adresse en 2ème paramètre.

      Aussi, tu confonds  =  et  ==

      ...

      • Partager sur Facebook
      • Partager sur Twitter
        18 février 2018 à 20:36:46

        Ha oui merci c’était tout simple...

        Je n'y est pas pensez car les autre scanf() plus haut fonctionner, au moins maintenant je n'oublierai plus :-°

        • Partager sur Facebook
        • Partager sur Twitter

        Exercice crée vos propre variable en C

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown