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 :

Programmation B Stroustrup ..


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 182
    Par défaut Programmation B Stroustrup ..
    Bonsoir à toutes et tous .

    Je ne parviens pas a comprendre l'énoncé d'un exercice du livre :
    Ecrivez un programme consistant en une boucle while qui (à chaque passage dans la boucle ) lit deux ints, puis les affiche. Le programme doit quitter à la saisie d'un '|' final. (C'est le texte du livre .)
    Si vous comprenez ??? Merci de m'expliquer .

    Cordialement.

  2. #2
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Je ne vois pas très bien ce que tu ne comprends pas, peut-être qu'en reformulant ça ira mieux:

    "Lire au clavier, et puis afficher, deux nombres entiers jusqu'à ce que l'utilisateur entre le caractère '|'".

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 182
    Par défaut Programmation B Stroustrup
    Bonsoir à toutes et tous .

    Merci , mais ..
    @Trademark
    Je ne vois pas très bien ce que tu ne comprends pas, peut-être qu'en reformulant ça ira mieux:

    "Lire au clavier, et puis afficher, deux nombres entiers jusqu'à ce que l'utilisateur entre le caractère '|'".
    Toujours aussi "nébuleux".

    Cordialement.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    l'énoncé est pourtant très clair.
    Tu écris un main, avec une boucle while, dans laquelle tu demandes la saisie de 2 int et tu les affiches.
    Si l'utilisateur entre un | au lieu d'un des 2 int, tu quittes le programme.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 182
    Par défaut Programmation B Stroustrup
    Bonsoir à toutes et tous .

    @Bousk . Merci .

    Voici je que j'ai réalisé :
    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
     
    #include "std_lib_facilities.h"
     
    int main()
    {
        int unNombre = 0 ;
     
        while (unNombre != 12  , unNombre != 24 )  {
        cout << " Entrez  les nombres 12 ou 24 !" << '\n';
        cin >> unNombre;
     
        cout << unNombre  << " Merci !" << '\n' ;
     
        break ;
     
        if (unNombre == '|' );
        cout << unNombre << " Erreur ! Au revoir , à bientôt !" << '\n';
     
     
        }
    }
    Chutttt... Oui .
    Je ne parviens toujours pas à comprendre . A chaque fois que ....

    Quelles sont mes erreurs ??

    Merci .
    Cordialement.

  6. #6
    Membre Expert Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Par défaut
    Salut,

    plusieurs choses, la première c'est qu'il faut que tu apprennes à écrire des conditions, une condition est une expression booléenne. L'évaluation de cette condition te renverra vrai ou faux, si vrai on entre dans la boucle, si faux on rentre pas... (respectivement true, false en anglais).

    Donc si on prend ta condition (unNombre != 12 , unNombre != 24 ), quel est le sens de la virgule ? Admettons que unNombre est égal à 24, voilà ce qui se passe:

    unNombre != 12 est évalué à true.
    unNombre != 24 est évalué à false.

    true et false, bien mais ça veut dire qu'on rentre ou qu'on sort ??

    Pour "relier" plusieurs expressions de la sorte, tu peux utiliser les connecteurs logiques, les deux principaux sont ET et OU. En langage C, ça se traduit respectivement par "&&" et "||".

    Maintenant essaye de remplacer ta virgule par un de ses deux connecteurs et représente toi dans ta tête ou par écrit si tu rentres ou sort de la boucle avec différentes valeurs pour unNombre. Cette exercice est très important car ces expressions sont fondamentales en informatique.

    Maintenant que tu as fait ça, passons à la suite.

    Dans l'exercice on te demande explicitement deux nombres entiers , et non pas 12 et 24 que tu as choisi arbitrairement.

    Justement reprenons l'énoncé et essayons de voir ce que pourrait être l'expression booléenne à mettre pour arrêter la boucle. Sachant qu'une boucle while peut-être exprimé en français de la sorte: "Tant que la condition booléenne est vraie, je continue" ; on peut facilement imaginer son contraire until qui veut dire "jusqu'à ce que cette condition booléenne soit vraie je continue.". Ha tiens que vois-je dans l'énoncé ? "jusqu'à ce que l'utilisateur entre le caractère '|'". Problème, le mot clé "until" n'existe pas en C (il existe en d'autres langages par contre). Mais ce n'est pas grave parce que grâce aux expressions booléennes on sait exprimer une expression et sa négation (son contraire). Je te laisse essayer de trouver la bonne condition.

    De plus, on te demande de stocker 2 nombres, mais tu n'as que une variable dans ton programme, dans on ne peut pas mettre deux pieds dans une chaussette (quoique...) !
    Prévois donc 2 variables !

    Que fait le mot clé "break" au milieu de ta boucle while ? Ce mot clé indique que tu veux sortir immédiatement du bloc. Donc quoiqu'il advienne, tu sortiras à chaque coup. Dans un premier temps (et même après), évite d'utiliser ce mot clé, car il te fera écrire à coup sûr du code hyper moche et difficile à lire, car, pour un débutant, c'est difficile de voir quand et comment l'utiliser, donc réserve toi ça pour plus tard.

    Donc pour récapituler, familiarise toi avec les expressions booléennes et trouve l'expression qui va au poil pour ta boucle. Ensuite n'oublie pas d'utiliser deux variables car deux nombres.

Discussions similaires

  1. Programmation B Stroustrup (Suite ..)
    Par Go'Gaule dans le forum Débuter
    Réponses: 13
    Dernier message: 06/06/2012, 13h09
  2. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  3. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  4. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

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