1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>
#include <vector>
#include <fstream>
using namespace std;
string melangerLettres(string mot)
{
string melange;
int position(0);
//Tant qu'on n'a pas extrait toutes les lettres du mot
while (mot.size() != 0)
{
//On choisit un numéro de lettre au hasard dans le mot
position = rand() % mot.size();
//On ajoute la lettre dans le mot mélangé
melange += mot[position];
//On retire cette lettre du mot mystère
//Pour ne pas la prendre une deuxième fois
mot.erase(position, 1);
}
//On renvoie le mot mélangé
return melange;
}
string choixMot(vector<string> tableau)
{
int position = rand() % tableau.size();
string motChoisis = tableau [position];
return motChoisis;
}
double moyenne(vector<int> tableau, int taille)
{
double moyenneJeu (0);
for (int I(0); I<tableau.size(); I++)
{
moyenneJeu += tableau[I];
}
moyenneJeu /= tableau.size();
return moyenneJeu;
}
int main()
{
string motMystere, motMelange, motUtilisateur, reponseUtilisateur, oui("oui");
int nbCoup(0), coupRestant, note(20), nbPartie(0), moyennePartie;
vector<int> tableauMoyenne(0);
vector<string> dictionnaire (0);
do
{
//Initialisation des nombres aléatoires
srand(time(0));
nbPartie++;
ifstream fichier("C:/Users/Maël/Desktop/Informatique/dico.txt");
string motMystere;
if(fichier)
{
fichier.seekg(0, ios::end); //On se déplace à la fin du fichier
int taille;
taille = fichier.tellg();
fichier.seekg(0, ios::beg);
string dico;
int position;
while( std::getline( fichier, dico ))
{
dictionnaire.push_back( dico );
}
dictionnaire.close();
}
motMystere = choixMot(dictionnaire);
cout << "voici le mot : " << motMystere;
do
{
motMelange = melangerLettres(motMystere);
cout << endl << "Quel est ce mot ? : " << motMelange << endl;
cin >> motUtilisateur;
if (motUtilisateur == motMystere)
{
cout << "Bravo !" << endl << endl;
}
else
{
cout << "Ce n'est pas le mot !" << endl;
nbCoup++;
coupRestant = 5 - nbCoup;
note = (20/5)*coupRestant;
if (coupRestant != 0)
{
cout << "Il vous reste " << coupRestant << " essaie." << endl << endl;
}
else
{
cout << endl << "Vous n'avez plus aucun essais, la reponse etait : " << motMystere << endl << endl;
}
}
}while (motUtilisateur != motMystere && coupRestant !=0);
//On recommence tant qu'il n'a pas trouvé
cout << "votre note est : " << note << "/20" << endl;
tableauMoyenne.push_back(note);
int tailleT(tableauMoyenne.size());
moyennePartie = moyenne(tableauMoyenne, tailleT);
cout << "la moyenne de vos " << nbPartie << " partie est : " << moyennePartie << "/20" << endl << endl ;
cout << "Voulez-vous refaire une partie ? oui ou non ?" << endl << endl;
cin >> reponseUtilisateur;
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 << endl
<< endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl << endl;
} while (reponseUtilisateur == oui);
return 0;
} |