Boucle c++

Résolu/Fermé
Anatole - 13 juil. 2018 à 10:57
 Anatole - 13 juil. 2018 à 11:32
Bonjour, Bonjour,
je fais un petit programme en c++ et je narrive pas a faire repeter la fonction int main infiniment malgres le while que j'ai mis

Un peu d'aide me serait grandement utile car je suis un novice
merci d'avance ;)
 #include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int jouer(1);
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()
{
 
 
while (jouer != 2 )
{
    if (jouer == 1);
    {
            string motMystere, motMelange, motUtilisateur;
 
    
            srand(time(0));
 
    
            cout << "Saisissez un mot" << endl;
            cin >> motMystere;
    
 
    
            motMelange = melangerLettres(motMystere);
 
   
            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;
                }
                }while (motUtilisateur != motMystere);
    
            cout << "voulez vous rejouer?[1 = oui ][0 = non] "<< endl;
            cin>> jouer;
            return 0;
        }
}
}




1 réponse

Pinzou76 Messages postés 609 Date d'inscription dimanche 17 septembre 2017 Statut Membre Dernière intervention 25 février 2019 190
13 juil. 2018 à 11:25
Bonjour,
Le
return 0
est placé au mauvais endroit et vous fait sortir du main dès qu'il est lu.
Il faut le placer avant la dernière accolade du main.
Bonne journée
merci bcp !!
0