IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

utilisation du bool


Sujet :

C++

  1. #1
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par d�faut utilisation du bool
    Bonjour � tous,
    Voila je suis en iut informatique (1ere ann�e) et j'ai un exo � faire, or on ne nous a pas expliqu� comment utilis� un bool��n en programmation c++.
    J'ai donc test� quelque chose mais ... ca ne fonctionne pas je crois que la syntaxe est plutot mauvaise.
    Si quelqu'un pourrait m'aider.
    Merci bien.


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include <iostream>
    using namespace std;
    bool intervalles(int a,b,c)
    {
    bool interv;
    if (a<b || a<c)
    interv=true
    else
    interv=false
     
    return interv;
    }
     
    int main()
    {
    int A,B,C;
    cout <<veuillez entrer 3 entiers: "<<endl;
    cin>>A>>B>>C;
    if (intervalles(A))
    cout <<"le premier parametres A est définit dans l'intervalle ["<<B<<","<<C<<"]"<<endl;
    else
    cout <<"le premier parametres A n'est pas définit dans l'intervalle ["<<B<<","<<C<<"]"<<endl;
    }
    Enonc�:
    1.Ecrivez une fonction prenant en parametres 3 entiers et retrounant un bool�een. La valeur de retour sera true si le 1er parametre est compris d&ans l'intervalle d�finit par les 2 parametres suivants, false sinon. ....
    2.Ecrivez maintenant dans ce meme fichier la fonction principale main qui demandera � l'utilisateur d'entrer 3 entiers ....

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 26
    Par d�faut
    Ca compile �a ?

  3. #3
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par d�faut
    Ben non lol mais j'aimerais savoir quelles sont les failles (nombreuses soit-elle� que j'ai pu faire. !!!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 26
    Par d�faut
    bool intervalles(int a,b,c)
    Pas certain que ce soit du C++ correct...

    if (a<b || a<c)
    interv=true
    else
    interv=false
    Et les points virgules ?
    De plus le test ne me semble pas r�pondre � l'�nonc�.

    Enfin, tu as d�clar� un type de retour � main, il faudrait peut �tre finir la fonction par un return (ce n'est qu'un warning mais bon...)

    Apr�s j'ai pas essay� de compiler, je peux pas l� tout de suite, mais d�j� ...

  5. #5
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par d�faut
    Si desol� les points virgule je les avaient mis (c'est en recopiant) mais que faut-il pour que ca puisse r�pondre au test?

  6. #6
    R�dacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par d�faut
    Quelles sont les sp�cifications de ta fonction ? V�rifier si a appartient � [b,c] ou c appartient � [a,b] ??? Ou autres choses.

    Car le test :
    me semble tr�s suspect.

    Et puise bon :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    cout <<veuillez entrer 3 entiers: "<<endl;
    L'utilisateur ne sait pas dans quel ordre il doit les rentrer, d'abord l'intervalle, ou l'intervalle � la fin. Sois plus pr�cis.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 26
    Par d�faut
    Si tu ne copie pas ce que tu tente de compiler...

    if (intervalles(A))
    J'avais pas vu.... pourtant elle est grosse celle l�

    Bon je vais pas te faire ton exo, hein

  8. #8
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par d�faut
    Lol bon arretez l� de me lamenter...
    J'ai pas copi� car je suis connect� sur le serveur ssh - machine linux sur emacs de l'universit� et l� je suis sur windows d'ou l'absence du copi� coll�.
    Bon voici l'�nonc�:

    1.Dans un nouveau fichier intervalles.cc, ecrivez une fonction prenant en parametre 3 entiers et retournant un bool�en. La valeur de retour sera true si le premier parametre est compris dans l'intervalle d�finit par les 2 parametres suivants, false sinon.
    Pour ecrire cette fonction, vous partirez du principe que le second parametre de la fonction d�finit la borne inf�rieure de l'intervalle et le troisieme d�finit la borne sup�rieur.
    2.Ecrivez maintenant dans ce meme fichier la fonction principale main qui demandera � l'utilisateur d'entrer 3 entiers, et qui affichera soit "le premier parametre ... est compris dans l'intervalle [.....] soit le premier parametre n'est pas compris dans l'intervalle [......]. Prenez en compte le fait que les deux parametres definissant l'intervallle peuvent etre entr�s dans n'importe quel ordre.

  9. #9
    Membre chevronn�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par d�faut
    Ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    if (a<b || a<c)
        interv=true;
    else
        interv=false;
    peut �tre beaucoup plus simplement �crit :


  10. #10
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par d�faut
    voila ce que me met le compilateur:
    intervalles.cc: Dans funtion "int main()":
    intervalles.cc:6: error: too few arguments to function 'bool intervalle(int,int,int,)'
    intervalles.cc:26: error: at this point in file

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 26
    Par d�faut
    D�j� r�pondu....

    Mais le test n'a toujours pas l'air de r�pondre � l'�nonc� !

  12. #12
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    voila ce que me met le compilateur:
    Et en lisant le message d'erreur tu ne te rends pas compte de ton erreur ridicule ?
    Si ce n'est pas le cas tu ferais peut-�tre mieux de changer de voie. Parce que bon, tu m'as tout l'air d'avoir beaucoup de mal pour des choses extr�mement triviales.

  13. #13
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par d�faut
    Oui Monsieur qui sait tout, j'ai tres bien vu l'erreur il me manque des arguments pour apeller la fonction (int,int,int) mais je ne sais pas quoi faire.
    J'ai essay� function (int a,int b, intc),
    aussi function (int a,b,c),
    plein d'autres truc mais rien ne marche alors si tu as la r�ponse ca serait sympa � toi

  14. #14
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    J'ai essay� function (int a,int b, intc),
    aussi function (int a,b,c),
    plein d'autres truc mais rien ne marche
    Le C++ n'est pas vraiment un langage qui s'apprend en t�tonnant, lire un bon cours peut parfois aider aussi.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    bool intervalles(int a, int b, int c)
    {
        return (b < a) && (a < c);
    }
     
    int main()
    {
        int A, B, C;
     
        ...
     
        if (intervalles(A, B, C))
        {
            ...
        }
     
        return 0;
    }

  15. #15
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par d�faut
    Merci bien pour ta r�ponse mais il y a toujours un probleme:
    "il me manque des arguments pour apeller la fonction (int,int,int) ", il n'y aurait pas un moyen par hasard de modifier l'appel � la fonction afin que les 3 parametres qu'elle doit utiliser fonctionne.

  16. #16
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Mon code est correct, si tu as toujours des probl�mes il faut que tu nous montres le tien.

  17. #17
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par d�faut
    En fait il me met que j'ai un probleme � cet endroit l�:
    bool intervalles(int a, int b, int c)

    Voil� ce que me repond xterm pour cette ligne
    error: too few arguments to function `bool intervalles(int, int,
    int)'

    C'est la seule erreure qu'il me repere

  18. #18
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    On peut voir le code complet ?

  19. #19
    Membre habitu�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par d�faut
    Bon finalement le programme fonctionne � merveille j'ai juste chang� cette ligne du code:
    if ((intervalles(A)) que j'ai remplac� bien sur par if ((intervalles(A,B,C)).
    Pourquoi tu as ecrit en tant qu'action:
    {
    return (b < a) && (a < c);
    }

    Enfin est-ce plus convenable, moi j'ai ecrit le code de la fonction tel que je l'ai appris.

    Merci beaucoup encore, �tourdi que je suis.


    Voici le code complet:



    #include <iostream>
    using namespace std;

    bool intervalles (int a,int b,int c)
    {
    bool interv;

    if (a>b && a<c)
    interv=true;
    else
    interv=false;

    return interv;
    }

    int main ()

    {

    int A,B,C;

    cout <<"Veuillez entrer 3 entiers: "<<endl;
    cin >>A>>B>>C;

    if (intervalles(A,B,C))
    cout<<"le premier parametre A est definit dans l'intervalle ["<<B<<","<<C<<"]"<<endl;
    else
    cout <<"le premier parametre n'est pas definit dans l'intervalle ["<<B<<","<<C<<"]"<<endl;
    return 0;
    }

  20. #20
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    En fait il me met que j'ai un probleme � cet endroit l�:
    bool intervalles(int a, int b, int c)

    Voil� ce que me repond xterm pour cette ligne
    error: too few arguments to function `bool intervalles(int, int,
    int)'

    C'est la seule erreure qu'il me repere
    Le compilateur est m�me gentil, il te donne la ligne, qui est
    if (intervalles(A))
    Alors on regarde la ligne d'appel � la fonction, on regarde la d�claration, on revient vers l'appel et on remarque une diff�rence : on a d�clar� une fonction qui prend trois arguments et on n'en fournit qu'un : il y a donc un probl�me.

    Pourquoi tu as ecrit en tant qu'action: [...]
    Parce que tes tests originaux ne correspondaient pas du tout � ce qui �tait demand�.
    Si ta question c'est pourquoi il a pas fait un if et utilis� une variable temporaire, c'est tout simplement parce que c'�tait inutile.

    Accessoirement, si tu veux reposter du code � l'avenir, apprends l'utilisation de la balise [code].

Discussions similaires

  1. R�ponses: 9
    Dernier message: 07/11/2011, 09h43
  2. Utilisation d'une variable bool
    Par Whippet dans le forum ASP.NET
    R�ponses: 3
    Dernier message: 15/04/2008, 16h59
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    R�ponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    R�ponses: 2
    Dernier message: 04/04/2002, 16h01
  5. R�ponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo