Partage
  • Partager sur Facebook
  • Partager sur Twitter

Type énuméré

Sujet résolu
    20 avril 2019 à 9:50:00

    S'il vous plaît, j'ai écrit un code qui utilise un type énuméré dans une structure. Au moment de lire les différentes variables de ma structure, l'on me retourne une erreur aux niveau des énumérations. Comment faire ?
    enum sexe {masculin,feminin};
    enum caractere {poli,colere,gentil};
    
    struct Qualite_personne {
        char nom [15];
        enum sexe new_sexe ;
        enum caractere new_character;
    };
    
    void FouDe(struct Qualite_personne A, struct Qualite_personne B){
        printf("Entrer le nom des individus A et B \n");
        scanf("%s%s",&A.nom,&B.nom);
        printf("Entrer leurs sexe \n");
        scanf("%d%d",&new_sexe,&new_sexe);
        printf("Entrer leurs caractere \n");
        scanf("%d%d",&new_character,&new_character);
    
    
        printf("%s à comme caractéristiques %d et %d", A.nom,new_sexe,new_character);
    
    
    
    }
    • Partager sur Facebook
    • Partager sur Twitter
      20 avril 2019 à 15:31:04

      new-sexe est un champ de la structure personne: il faut donc le précéder du nom de l'instance de personne comme tu l'as fait pour leur nom (A.nom).

      Une remarque: comment l'utilisateur du programme va-t-il pouvoir deviner qu'il va falloir entrer 0 pour un homme et 1 pour une femme? Quel intérêt de déclarer une énumération, si tu gères le sexe avec des entiers?

      • Partager sur Facebook
      • Partager sur Twitter
        20 avril 2019 à 20:10:14

        j'utilise l'énumération car je voulais un moyen de prédéfinir les choix possibles. cela ne marche lorsque je fais comme avec leurs nom. le compilateur dis que la variable new_sexe n'est pas déclarer. 

        je me demande donc s'il n'y a pas une syntaxe spéciale pour lire le type enum

        • Partager sur Facebook
        • Partager sur Twitter
          20 avril 2019 à 20:34:55

          JuniorUlrichMbah a écrit:

          le compilateur dis que la variable new_sexe n'est pas déclarer. 

          Et il a raison, comme l'a expliqué zoup plus haut (dans sa première phrase). Mais ce n'est pas un problème d'enum, c'est un problème de struct (le champ d'une structure n'est pas une variable à part entière).



          • Partager sur Facebook
          • Partager sur Twitter
            20 avril 2019 à 22:20:22

            Okay Merci. j'ai corrigé le code et il fonctionne
            • Partager sur Facebook
            • Partager sur Twitter
              20 avril 2019 à 22:26:51

              Tant mieux. Marque la discussion comme résolue, du coup.
              • Partager sur Facebook
              • Partager sur Twitter

              Type énuméré

              × 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