F@t Boy
Born to grill
bonjour j'ai un boulot en c++ a faire , j'ai une ébauche mais je sais pas si c'est bon ou pas , si y a moyen d'améliorer....
voilà si quelqu'un peut me dire si c'est +- bon ou si y a encore du boulot
merci
Le juste nombre est un jeu qui consiste à deviner un nombre quelconque auquel pense un
autre joueur. Nous allons remplacer ici un des joueurs par l’ordinateur. L’ordinateur choisit
donc un nombre aléatoirement. La partie se déroule en une série de tours, à chaque tour
le joueur propose une estimation du nombre inconnu. L’ordinateur répond alors que son
estimation est correcte, insuffisante ou surévaluée. Le jeu se termine lorsque l’estimation du
nombre est correcte, c’est-à-dire lorsque le nombre est deviné. Le but du jeu étant de minimiser
le nombre de tours nécessaires pour trouver le bon nombre.
Nous vous demandons de réaliser le programme du juste nombre. Le programme évaluera
successivement les propositions de l’utilisateur et lui indiquera soit que le nombre est correct,
soit que la proposition devrait être supérieure, soit qu’elle devrait être moindre. Une fois
le nombre trouvé par l’utilisateur, le programme indique le nombre d’essais qui ont été
nécessaires. A la fin d’une partie, le programme proposera à l’utilisateur soit de rejouer (en
tapant 1) soit d’arrêter le programme (en tapant 2).
Avant que le jeu ne commence, le programme demandera à l’utilisateur le degré de
difficulté sur une échelle de 1 à 5. Le premier niveau de difficulté correspond à trouver un
nombre entre 0 et 10, le second entre 0 et 20, le troisième entre 0 et 30, le quatrième entre 0 et
40 et enfin le cinquième entre 0 et 50.
Le programme affichera par exemple :
La bienvenue au juste nombre!
Choisissez un degré de difficulté de 1 à 5:
5
Veuillez donner un estimation du nombre à deviner:
25
L’estimation est incorrecte, le nombre est inférieur à la précédente proposition.
Essayez encore:
15
L’estimation est incorrecte, le nombre est inférieur à la précédente proposition.
Essayez encore:
5
L’estimation est incorrecte, le nombre est supérieur à la précédente proposition.
Essayez encore:
8
Bravo, le nombre est bien 8! Vous avez réussit à le deviner en 4 étapes.
Voulez vous continuez? (1 pour oui / 2 pour non)
2
1/2
Notez que pour générer un nombre aléatoire entier entre 0 et a il vous faudra utiliser
l’instruction
(rand()%(a+1));
Il vous faudra aussi intégrer (une seule fois) au début de votre programme l’instruction
suivante
srand(time(NULL));
et inclure cstdlib en début de code,
#include<cstdlib>
2/
Code:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char*argv[])
{
srand(time(NULL));
int a, estim , niveau , nbs , essai ;
char y,n,k;
while (k!=n) {
cout<<"choix du niveau"<<endl;
cin>>niveau;
if (niveau<1 || niveau>5){
cout<<"mauvais niveau choisissez en un autre"<<endl;
}
else {
a=niveau*10;
nbs=(rand()%(a+1));
essai=1;
cin>> estim;
}
while(estim>0 && estim<a){
if(estim==nbs){
cout<<essai<<endl;
}
else if (estim!=nbs){
if(estim<nbs){
cout<<"trop petit"<<endl;
cin>>estim;
essai++;
}
else if (estim>nbs){
cout<<"trop grand"<<endl;
cin>>estim;
essai++;
}
}
}
else {
cout<<"restez dans les balises"<<endl;
cin>>estim;
}
cout<<"voulez vous recommencer oui=y et non=n "<<endl;
cin>>k;
}
system("PAUSE");
return 0;
}
merci