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. 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
          1. 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