Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme normalement simple a résoudre

consernant la déclaration de variable booléenne

    27 novembre 2005 à 19:54:20

    Bonsoir !
    je vien de lire les 3 premier cours de c puis j'ai essayé de retenir les bases mais j'ai un probleme avec ce bout de code
    #include <stdio.h>

    int main(int argc, char *argv[])
    {
      bool lol = false;
      (lol)?puts("impossible que sa s'affiche"):puts("sa marche");
       getchar ();// agis comme une pause
       return 0;
    }

    l'erreur est au niveau de cette ligne bool lol = false;
    merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      27 novembre 2005 à 19:59:47

      Ca te sert à quoi de faire ça ? Autrement si sa marche pas essais de changer puts() par printf() (d'ailleurs est ce que ça existe puts ?) autrement si sa marche toujours pas remplacer l'opérateur ternaire par un if, else

      EDIT : ha si c'est au niveau de ta variable change bool lol = FALSE; par int lol = 0 ça fera le même effet
      • Partager sur Facebook
      • Partager sur Twitter
        27 novembre 2005 à 20:09:08

        cette foncton ne sert strictement a rien et puts marche c'est juste pour testé les variables booléennes
        sa marche avec un int lol = 0;
        mais ceque je voudrai savoir c'est pourquoi bool lol = false; ne marche pas
        en clair meme en fesant
        #include <stdio.h>

        int main(int argc, char *argv[])
        {
          bool lol = false;
        }
        sa me donne l'erreur 6 E:\PROGRAMATION\projet\main.c `bool' undeclared (first use in this function)
        donc esque c'est une erreur de syntaxe de ma part ou esque cette syntaxe n'existe pas en c ??
        • Partager sur Facebook
        • Partager sur Twitter
          27 novembre 2005 à 20:15:03

          elle est peut être définie dans une bibliothèque mais laquelle je n'en sais rien

          EDIT : je viens de voir que le type bool n'était dispo que si tu fait du c++
          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2005 à 20:19:30

            Salut,
            Essaye dans un fichier *.cpp pour voir si c'est pas parceque le c ne supporte pas.
            • Partager sur Facebook
            • Partager sur Twitter
              27 novembre 2005 à 20:21:12

              désoler pour le dérangement je crois que j'ai trouvé

              Citation : http://inzeprog.free.fr/cours_cpp/partie1_3.php#variables

              Booléen, (uniquement en C++), c'est-à-dire variable qui ne peux prendre que deux valeurs : "true" (vrai) ou "false" (faux).



              bien que j'ai trouvé cette syntaxe dans un cour qui a priori est un cour de C :/
              • Partager sur Facebook
              • Partager sur Twitter
                27 novembre 2005 à 20:23:15

                Ah bah c'est bien ce que je pensais.
                Ben t'as qu'a utilisé int lol = 0; si tu veux rester dans un *.c
                • Partager sur Facebook
                • Partager sur Twitter
                  27 novembre 2005 à 20:25:29

                  :D

                  le type bool n'existe pas en C.

                  :D

                  Citation : Eric S. Raymond

                  In this wise shalt thou travel the Way of the Camel



                  Faites du ocaml.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 novembre 2005 à 20:51:36

                    Oui le bool n'existe pas en C, mais ça ne t'empeche pas d'utiliser un int pour faire des tests booléans. En sachant que pour les conditions, FALSE équivaut à 0, et TRUE équivaut à n'importe quel valeur positive
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 novembre 2005 à 20:55:38

                      En C99 ça existe mais faut avoir un compilateur et une libc compatibles, donc windowsiens, faites une croix dessus... De toute façon c'est très peu utilisé...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        29 novembre 2005 à 13:33:00

                        si vous voulez des bools vous avez qu'a mettre
                        typedef enum {false=0,true} bool;

                        Enfin c'est pas encore du programme de mathéo les enums :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          29 novembre 2005 à 16:35:42

                          Je ne vois pas l'intérêt de faire ça ; de plus, c'est une mauvaise idée de redéfinir soi-même des constantes standards, même si elles ont même valeur.
                          false et true, de même que bool sont définis dans stdbool.h et ne devraient pas être redéfinies par l'utilisateur averti.
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            29 novembre 2005 à 16:52:22

                            de plus qu'on peut toujours s'en tirer sans variable booléene
                            • Partager sur Facebook
                            • Partager sur Twitter
                              29 novembre 2005 à 18:30:35

                              Citation : Benzawal

                              de plus qu'on peut toujours s'en tirer sans variable booléene


                              C'est vrai que c'est pas un type très utile mais "s'en tirer sans variable booléene" n'a pas beacoup de sens je trouve ^^

                              rz0 > connaissais pas stdbool :-°
                              (avec rz0, j'ai toujours l'impression d'etre un noob :euh: )
                              • Partager sur Facebook
                              • Partager sur Twitter
                                29 novembre 2005 à 18:46:59

                                stdbool.h c'est du C99, mais je vous avais prévenu que ça n'existait qu'avec le C99 le type booléen en C. (Et vu son utilité je me demande pourquoi il est là...)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  29 novembre 2005 à 22:19:42

                                  Citation : rotoclap

                                  Oui le bool n'existe pas en C, mais ça ne t'empeche pas d'utiliser un int pour faire des tests booléans. En sachant que pour les conditions, FALSE équivaut à 0, et TRUE équivaut à n'importe quel valeur positive



                                  Les négatifs aussi sont TRUE. Il n'y a que 0 qui soit FALSE dans les tests booléens.

                                  a+
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    30 novembre 2005 à 11:40:55

                                    Citation : Dark_Player

                                    Salut,
                                    Essaye dans un fichier *.cpp pour voir si c'est pas parceque le c ne supporte pas.



                                    Citation : Dark_Player

                                    Ah bah c'est bien ce que je pensais.
                                    Ben t'as qu'a utilisé int lol = 0; si tu veux rester dans un *.c



                                    L'extension du fichier n'a rien a voir attention ! Seul le compilateur est important. Libre a toi d'appeler tes sources comme tu le veux, .sdz si cela te chante. '.c' n'est qu'une norme.
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    probleme normalement simple a résoudre

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown