Problème variable 'bool' C++

Résolu
sunser -  
 enima -
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. LeChikito Messages postés 1589 Date d'inscription   Statut Membre Dernière intervention   325
     
    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. sunser
       
      Mon compilateur croit que printf est une variable et il annonce que printf n'est pas déclaré..
      0
    2. LeChikito Messages postés 1589 Date d'inscription   Statut Membre Dernière intervention   325
       
      Il faut importer les librairies d'abord:
      #include <stdio.h>
      #include <stdlib.h>
      0
    3. sunser
       
      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. enima
       
      merci
      0
  2. LeChikito Messages postés 1589 Date d'inscription   Statut Membre Dernière intervention   325
     
    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
  3. sunser
     
    Ben je ne comprends pas ces lignes :

    if (cond)
    printf("True\n");
    else
    printf("False\n");
    cond = !cond
    0
  4. LeChikito Messages postés 1589 Date d'inscription   Statut Membre Dernière intervention   325
     
    En gros en français, çà ferait:
    Si cond est vrai
    Afficher "True"
    Sinon
    Afficher "False"
    Inverser la valeur de cond
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sunser
     
    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. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      dans ce cas là il vaut mieux faire un enum :
      enum sexe ={femme,homme};
      0
    2. LeChikito Messages postés 1589 Date d'inscription   Statut Membre Dernière intervention   325
       
      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
  7. LeChikito Messages postés 1589 Date d'inscription   Statut Membre Dernière intervention   325
     
    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
  8. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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