Partage
  • Partager sur Facebook
  • Partager sur Twitter

TP: Mot mystère aide

Sujet résolu
    6 avril 2019 à 16:11:17

    Salut !

    Je suis le cours de C++ de Mathieu Nebra et là je suis coincé dans la 2eme question du TP Mot mystère : "Fixer une nombre maximal de coups pour trouver le mot mystère". ça fait 3 jours je suis dessus et y a toujours un problème. Voila mon programme: 

    #include <iostream>
    #include <string>
    #include <ctime>
    #include <cstdlib>
    
    using namespace std;
    
    bool continuer()
    {
        char replay;
        bool erreur(true);
        bool jouer(false);
    
        cout << "Voulez vous continuer a jouer ? (O/N) " << endl;
        cin >> replay;
    
        do
        {
            switch(replay)
            {
            case 'O':
            erreur = false;
            jouer = true;
            break;
    
            case 'N':
            erreur = false;
            jouer = false;
            break;
    
            default:
            cout << "Choisissez entre O et N !" << endl;
            cin >> replay;
            erreur = true;
            break;
        }
        } while(erreur);
        return jouer;
    }
    
    string melangerLettres(string mot)
    {
        string melange;
        int position(0);
    
        while (mot.size() != 0)
        {
            position = rand() % mot.size();
            melange += mot[position];
            mot.erase(position, 1);
        }
        return melange;
    }
    
    int main()
    {
        string motMystere, motMelange, motUtilisateur;
        int essais(5);
    
        srand(time(0));
    
     do
        {
        cout << "Saisissez un mot : " << endl;
        cin >> motMystere;
        cout << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl;
    
        motMelange = melangerLettres(motMystere);
    
        cout << "Vous avez 5 essais." << endl;
    
        do
        {
            cout << endl << "Quel est ce mot ? " << motMelange << endl;
            cin >> motUtilisateur;
    
            if (motUtilisateur == motMystere)
            {
                cout << "Bravo !" << endl;
            }
            else
            {
                cout << "Ce n'est pas le mot !" << endl;
                for(essais; essais >= 0; essais--)
                {
                    cout << "Il vous reste " << essais << " essais." << endl;
                }
            }
        } while (motUtilisateur != motMystere);
    
        } while(continuer());
        return 0;
    }

    Merci pour votre aide !

    • Partager sur Facebook
    • Partager sur Twitter
      6 avril 2019 à 18:58:17

      Salut,

      C'est quoi ton problème ?

      Mais bon, juste comme ça au premier coup d'oeil : 

      for(essais; essais >= 0; essais--)
      {
      cout << "Il vous reste " << essais << " essais." << endl;
      }

      Cette boucle ne sert pas à grand chose, elle va juste afficher 5 fois de suite les essais restants du joueur. Il y a un problème dans ta logique.

      Et sinon, 

      "Je suis le cours de C++ de Mathieu Nebra"

      Ne suis pas ce cours, il enseigne du vieux C++ et des mauvaises pratiques, je te recommande celui-ci à la place : http://guillaume.belz.free.fr/doku.php?id=programmez_avec_le_langage_c

      • Partager sur Facebook
      • Partager sur Twitter
        6 avril 2019 à 20:33:37

        C'est bon j'ai trouvé la solution, mais sinon merci tout de même. Je vais voir le site que tu m'as donné. 

        Merci !

        Et aussi j'avais fais plusieurs essais et comme j'avais la flemme de tout reécrire j'ai mis que ça.

        -
        Edité par SoulaymBallah 6 avril 2019 à 20:34:38

        • Partager sur Facebook
        • Partager sur Twitter
          7 avril 2019 à 1:59:31

          Mets que ton sujet est reslou donc s'il te plait....
          • Partager sur Facebook
          • Partager sur Twitter

          TP: Mot mystère aide

          × 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