Problème variable 'bool' C++

Résolu
Bonjour,
Je suis amateur en programmation dans le language C++, et j'ai un problème avec les variables de type 'bool'. J'ai suivi un cours bien expliqué sur ce language de programmation, mais il ne détaille pas assez ce type de variable, aussi j'ai moi même essayé de déclarer des valeurs dites 'true' ou 'false', mais je n'y arrive pas et/ou ne comprends pas. Malgré une recherche rapide sur Internet, je ne m'y retrouve toujours pas. Aussi j'aurai besoin d'un petit exemple de code si possible ^^ ..
Quelqu'un pourrait-il m'aider s'il vous plait?

8 réponses

  1. Bonjour,

    int main() 
    { 
       bool cond = false; 
       for (int i = 0 ; i < 10 ; i++) 
       { 
          if (cond) 
             printf("True\n"); 
          else 
             printf("False\n"); 
          cond = !cond 
       } 
    } 
    


    Je ne sait pas si c'est une code basique comme cela que tu veux mais bon on ne sait jamais ^^
    Cordialement,
    Questions claires et recherches sur le net sont les deux clés de la réussite
    LeChikito
    1
    1. Mon compilateur croit que printf est une variable et il annonce que printf n'est pas déclaré..
      0
    2. Il faut importer les librairies d'abord:
      #include <stdio.h>
      #include <stdlib.h>
      0
    3. Ah ! Je ne les connaissais pas --"
      La console indique ceci :
      True
      False
      True
      False
      True
      False
      True
      False

      Pourrais tu m'expliquer comment le code fonctionne ici stp?
      0
    4. merci
      0
  2. Contributeur
    le plus simple serait d'expliquer ce que tu ne comprends pas. bool c'est un type sur un bit, soit 0 (false) soit 1 (true) tout le reste est simple et répond à la logique booléenne. Prend un cours de logique peut être ?
    -1
    1. Je vais te l'expliquer avec plaisir.
      Tout d'abord, on importe des librairies où sont stockées des fonctions prédéfinies:
      #include <stdio.h>  
      #include <stdlib.h>

      Ensuite on rentre dans la fonction principale:
      int main() 
      { 
         // code 
      }

      On délare une variable booléenne:
      bool cond</cond> 
      On continue en déclarant une boucle qui "tournera" 10 fois pour bien voir les changements d'état de la variable booléenne: 
      <code> for (int i = 0 ; i < 10 ; i++)  
      { 
         //code 
      }

      Là un peu plus compliqué, on affiche un texte suivant l'état de la variable booléenne:
      if (cond)   // Si cond contient true 
         printf("True\n");   // On affiche "True" 
      else                     // Sinon 
         printf("False\n");  // On affiche "False" 
      

      Pour finir, on inverse le contenu de la variable booléenne
      cond = !cond   // le symbole ! signifie inverse

      Voilà j'espère avoir été assez clair.

      Questions claires et recherches sur le net sont les deux clés de la réussite
      LeChikito
      0
      1. Ben je ne comprends pas ces lignes :

        if (cond)
        printf("True\n");
        else
        printf("False\n");
        cond = !cond
        0
        1. En gros en français, çà ferait:
          Si cond est vrai
          Afficher "True"
          Sinon
          Afficher "False"
          Inverser la valeur de cond
          0
          1. Donc c'est le printf ou le \n qui permet d'afficher le msg "true" ou "false" ?
            Et peut t'on déclarer en une seule fois une valeur "true" et une autre "false" du style :
            bool sexe (true=homme/false=femme); // je me doute bien que ce n'est pas comme ca ..
            ou quelque chose dans ce style ?
            0
            1. Contributeur
              dans ce cas là il vaut mieux faire un enum :
              enum sexe ={femme,homme};
              0
            2. Il n'est encore que débutant et cherche juste un exemple simple pour les variables booléenne inutile de l'envoyer de suite sur les enum ;)
              0
          2. En fait la fonction printf() permet d'afficher un texte (ou une variable mais pas dans notre cas).
            Donc dans notre cas si tu veut afficher homme quand c'est vrai et femme quand c'est faux, cela donnerais:
            if (cond)  
            printf("Homme\n");  
            else  
            printf("Femme\n"); 

            Quand au \n, il sert à revenir à la ligne ;)
            (Je doit partir bonne chance à toi n'hésite pas à chercher des tutos sur le net ;) )
            Questions claires et recherches sur le net sont les deux clés de la réussite
            LeChikito
            0