[C] Booleen

coucou tout le monde..

je vous demande confirmation de la syntaxe pour faire un booléen en C :
<------ debiut code ------>
typedef enum BOOLEAN{FALSE,TRUE} BOOL;

...

BOOL choix;
<----------fin code ---------->

merci ;)

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour, (je ressort ce vieux posts des archives pour éviter d'en recreer un autre :p)
    je suis débutant et je ne sais pas trop utiliser les caractères booléens.

    je voudrais mettre à l'état vrai un tableau V[m][n]. J'ai testé en mettant après les bibliothèques: "typedef enum{vrai, faux);"

    puis je balance une fonction qui initialise tout les états de V à faux:
    ==================================
    void init_tab2Dbool(bool vi[m][n], int m, int n){
    for(int i=0;i<m;i++){
    for(int j=0;j<n;j++){
    vi[i][j]=faux;
    }
    }
    }
    ==================================

    Jusque là OK, mais quand je veux vérifier si les états sont faux avec un cout, sa fonctionne, par contre dès que je met V[1][1]=vrai; et que je vérifie sont état, le compilateur me le met toujours à faux...
    Rien à faire, car même sans appel de la fonction, les états sont automatiquement mient à faux...

    1) POURQUOI ? /* Question subsidiaire :p ^^ */
    2) Comment puis-je faire pour créer un état vrai dans mon V[][]?

    Merci beaucoup!
    1. Contributeur
      Bonjour,

      Deux choses:

      1°) Essai de préciser le nom de ton type lorsque tu le défini :
      typedef enum{vrai, faux) BOOL;
      
      puis je balance une fonction qui initialise tout les états de V à faux:
      ==================================
      void init_tab2Dbool(BOOLvi[m][n], int m, int n){ 
      


      Si ça ne fonctionne toujours pas,

      2°) Ou mets-tu à jour à vrai ton tableau et où affiches-tu pour vérifier ?

      1. ben en fait ton truc je suispas sur qu'il marche...
        quand a 12h30, c comme tuve.. j'dirai plus 12h / 12 h15 comme sam dort ( encore ) chez lui... et j'ai mon jeu de cartes!!! :)
        1. Contributeur
          Ah, ba si tu insiste alors... je ne saurais te résister ! Donc ben en fait, euh.. je vais pas tardder à partir alors !

          Sinon, pourquoi ca marche pas mon truc, il me semblait que je faisait ca dans mes prog C l'année dernière mais bon...

          Attend j'alume le monstre pour y jeter un coup d'oeil, il est en train de dormir à coté de moi ...

        2. Contributeur
          @kij_82Ah ba non ! je suis trop bete, c'est sur mon dur externe et je l'ai pas amené...

          Concernaant ce que g mis ca marche, fais ca pour voir et tu verra :
          #include <stdio.h>

          typedef enum { FAUX, VRAI } BOOL;

          int main ()
          {
          BOOL b;
          b = FAUX;
          if (b)
          printf("coucou\n");
          else
          printf("popo\n");

          return 0;
          }

          ++
        3. Contributeur
          @kij_82Et demande à samm s'il ne c pas répondre à ma question plus bas dans le forum s'il vient cet apres midi, merci.

          ++
        4. @kij_82je vais quand meme pas le réveiller le pauvre !!! :D
      2. Contributeur
        Fait plutot ceci mister mono :

        typedef enum { FAUX, VRAI } BOOL;

        BOOL monBolleen;

        12h30 ??
        ++