Partage
  • Partager sur Facebook
  • Partager sur Twitter

comment on utilise le bool ?

Sujet résolu
5 décembre 2008 à 11:02:13

Bonjour

comment on utilise le bool (mot réservé)?

Merci d'avance

int main()
{
	if(bool)
		printf("vrai");
	else
		printf("Faux");
	

	return 0;
}
  • Partager sur Facebook
  • Partager sur Twitter
5 décembre 2008 à 12:17:40

Le bool est un type uniquement utilisable en C++

en C on utilise une variable de type int :

#include <stdio.h>

int main()
{
     int booleen = 1;
     if(booleen)
     {
        printf("vrai");
     }
    
     else
     {
        printf("faux");
     }
   
     return 0;
}


Si la variable vaut 0, c'est faux, si elle vaut 1 (ou toute autre valeur différente de 0) c'est vrai


En C++, on aurait fait comme ça :

#include <iostream>

int main()
{
     bool booleen = true;
     if(booleen)
     {
        cout << "vrai" << endl;
     }
    
     else
     {
       cout << "faux" << endl;
     }
   
     return 0;
}

  • Partager sur Facebook
  • Partager sur Twitter
5 décembre 2008 à 12:23:04

A noter qu'en C99, il existe le header stdbool.h qui définit le type de donnée bool .
  • Partager sur Facebook
  • Partager sur Twitter
5 décembre 2008 à 12:47:37

Bonjour,

Dans certain programme en C on fait:

#define TRUE 1
#define FALSE 0


Mais ce n'est pas une variable de type bool, juste un #define (donc une gestion différente dans le programme!)

Mamas
  • Partager sur Facebook
  • Partager sur Twitter
5 décembre 2008 à 16:12:55

On peut aussi faire:
enum Bool { False = 0, True = 1};

int main(int argc, char* argv[])
{
    Bool Booleen = False;
    if(Booleen)
    {
        printf("Vrai");
    }
    else printf("Faux");
    return Booleen;
}


Non ?
  • Partager sur Facebook
  • Partager sur Twitter
5 décembre 2008 à 16:17:22

Salut!
J'aurais plus vu ca dans une structure Non? :p
  • Partager sur Facebook
  • Partager sur Twitter
5 décembre 2008 à 16:22:20

Citation : Hertzien'

On peut aussi faire:

enum Bool { False = 0, True = 1};

int main(int argc, char* argv[])
{
    Bool Booleen = False;
    if(Booleen)
    {
        printf("Vrai");
    }
    else printf("Faux");
    return Booleen;
}



Non ?


Non !
-------------- Build: Debug in hello ---------------

Compiling: main.c
Linking console executable: bin\Debug\hello.exe
C:\dev\hello\main.c: In function `main':
C:\dev\hello\main.c:5: error: `Bool' undeclared (first use in this function)
C:\dev\hello\main.c:5: error: (Each undeclared identifier is reported only once
C:\dev\hello\main.c:5: error: for each function it appears in.)
C:\dev\hello\main.c:5: error: syntax error before "Booleen"
C:\dev\hello\main.c:6: error: `Booleen' undeclared (first use in this function)
C:\dev\hello\main.c:8: warning: implicit declaration of function `printf'
C:\dev\hello\main.c: At top level:
C:\dev\hello\main.c:3: warning: unused parameter 'argc'
C:\dev\hello\main.c:3: warning: unused parameter 'argv'
Process terminated with status 1 (0 minutes, 0 seconds)
5 errors, 3 warnings

Ces 2 codes fonctionnent :
#include <stdio.h>

enum Bool
{ False = 0, True = 1 };

int main (void)
{
   enum Bool Booleen = False;
   if (Booleen)
   {
      printf ("Vrai\n");
   }
   else
   {
      printf ("Faux\n");
   }
   return Booleen;
}

et
#include <stdio.h>

typedef enum
{ False = 0, True = 1 }
Bool;

int main (void)
{
   Bool Booleen = False;
   if (Booleen)
   {
      printf ("Vrai\n");
   }
   else
   {
      printf ("Faux\n");
   }
   return Booleen;
}
  • Partager sur Facebook
  • Partager sur Twitter
Music only !
5 décembre 2008 à 20:20:07

Ca fait longtemps que j'ai pas fait du C. Je fais actuellement du C++
  • Partager sur Facebook
  • Partager sur Twitter
19 août 2015 à 14:22:44

comment je peut rendre mon espace de programmation en noir ?
  • Partager sur Facebook
  • Partager sur Twitter
19 août 2015 à 15:52:15

ant121 a écrit:

Le bool est un type uniquement utilisable en C++

en C on utilise une variable de type int :

#include <stdio.h>

int main()
{
     int booleen = 1;
     if(booleen)
     {
        printf("vrai");
     }
    
     else
     {
        printf("faux");
     }
   
     return 0;
}



Si la variable vaut 0, c'est faux, si elle vaut 1 (ou toute autre valeur différente de 0) c'est vrai


En C++, on aurait fait comme ça :

#include <iostream>

int main()
{
     bool booleen = true;
     if(booleen)
     {
        cout << "vrai" << endl;
     }
    
     else
     {
       cout << "faux" << endl;
     }
   
     return 0;
}
Il est bien utilisable en C , il faut néanmoins inclure la bibliothéque stdbool car il n'est pas dans la norme ANSI C ni dans le C K&&R , mais il a été rajouté à la bibliothéque standard sur la plupart des compilateurs .

  • Partager sur Facebook
  • Partager sur Twitter
Si il existe un Dieu au sens religieux du terme , il est alors par essence de nature humaine , car il n'y a que la vanité d'un Homme qui ai pu le leurrer sur sa valeur au point de le placer au centre d'une création aussi vaste que l'est l'univers .
19 août 2015 à 15:53:26

YasSou1 a écrit:

comment je peut rendre mon espace de programmation en noir ?

Comment ça ? Ton IDE en noir ?

  • Partager sur Facebook
  • Partager sur Twitter
Si il existe un Dieu au sens religieux du terme , il est alors par essence de nature humaine , car il n'y a que la vanité d'un Homme qui ai pu le leurrer sur sa valeur au point de le placer au centre d'une création aussi vaste que l'est l'univers .
19 août 2015 à 16:40:46

oui le mien est en blanc :

#include<iostream>
using namespace ::std;

int main(){

string nom;
getline(cin,nom);
cout<<nom<<endl;





}

  • Partager sur Facebook
  • Partager sur Twitter
19 août 2015 à 16:42:36

#include<iostream>
using namespace ::std;

int main(){

string nom;
getline(cin,nom);
cout<<nom<<endl;





}
  • Partager sur Facebook
  • Partager sur Twitter
19 août 2015 à 17:02:58

PeterGunnTheme a écrit:

Il est bien utilisable en C , il faut néanmoins inclure la bibliothéque stdbool car il n'est pas dans la norme ANSI C ni dans le C K&&R , mais il a été rajouté à la bibliothéque standard sur la plupart des compilateurs .


Bonjour,

Bon désolé de revenir dessus, surtout que ça n'a rien à voir ni avec la discussion ni avec la relance. ANSI C plus communément appelé C89, K&R plus communément appelé C historique ne sont plus d'actualité du tout du tout du tout. Les compilateurs C les plus répandus (gcc, clang, icc) pour les OS les plus répandus (macos. windows, linux like) compilent par défaut en C11 maintenant … il faut oublier la partie historique pour les nouveaux développements desktop.

En C11 le type booléen existe bel et bien : _Bool (c'est un des mots réservés d'ailleurs). Le fichier d'entête ne fait que définir une macro nommée bool qui est remplacée par _Bool ainsi que les deux valeurs sous forme de macros true (1) et false (0).

  • Partager sur Facebook
  • Partager sur Twitter
First solve the problem. Then, write the code. ~ John Johnson
31 mai 2017 à 12:41:32

svp aider moi pour corriger ses erreurs (expected unqualified-id before ‘if')
  • Partager sur Facebook
  • Partager sur Twitter
31 mai 2017 à 15:10:33

Pour obtenir une réponse, il faut créer un sujet avec un titre adéquat, dans le bon forum (ici c'est langage C, pas C++).
Et on ne fournit pas une copie d'écran mais un texte, et ici il manque le début des erreurs.

A bientôt

  • Partager sur Facebook
  • Partager sur Twitter

En recherche d'emploi.

2 décembre 2019 à 22:13:37

Bonjour amiraexo_l, Pour dire merci vous pouvez cliquer sur les pouces levés des messages qui vous ont aidés plutôt que de déterrer inutilement un sujet ancien.   

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter