Problème variable 'bool' C++

Résolu/Fermé
sunser - Modifié par sunser le 18/04/2012 à 16:12
 enima - 3 sept. 2019 à 01:51
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

LeChikito Messages postés 1589 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 3 août 2012 322
Modifié par LeChikito le 18/04/2012 à 16:15
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
Mon compilateur croit que printf est une variable et il annonce que printf n'est pas déclaré..
0
LeChikito Messages postés 1589 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 3 août 2012 322
18 avril 2012 à 16:24
Il faut importer les librairies d'abord:
#include <stdio.h>
#include <stdlib.h>
0
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
merci
0
LeChikito Messages postés 1589 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 3 août 2012 322
Modifié par LeChikito le 18/04/2012 à 16:41
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
Ben je ne comprends pas ces lignes :

if (cond)
printf("True\n");
else
printf("False\n");
cond = !cond
0
LeChikito Messages postés 1589 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 3 août 2012 322
18 avril 2012 à 16:44
En gros en français, çà ferait:
Si cond est vrai
Afficher "True"
Sinon
Afficher "False"
Inverser la valeur de cond
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
18 avril 2012 à 19:17
dans ce cas là il vaut mieux faire un enum :
enum sexe ={femme,homme};
0
LeChikito Messages postés 1589 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 3 août 2012 322
19 avril 2012 à 09:15
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
LeChikito Messages postés 1589 Date d'inscription lundi 19 mars 2012 Statut Membre Dernière intervention 3 août 2012 322
Modifié par LeChikito le 18/04/2012 à 16:55
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
Ah super, merci bcp ! :D
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
18 avril 2012 à 16:38
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