travail C++

Statut
N'est pas ouverte pour d'autres réponses.

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....

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;
}
voilà si quelqu'un peut me dire si c'est +- bon ou si y a encore du boulot

merci
 

xe0n

Chamois d'or
ca a l'air juste, si ton programme tourne je voit pas ou est le probleme :)
 
1er
OP
F@t Boy

F@t Boy

Born to grill
ben en fait au dernier else il bugge et je comprend pas pq il me met

In function `int main(int, char**)':

43 expected primary-expression before "else"

43 expected `;' before "else"
 

zoheir

cvm.mangaleet()
F@t Boy a dit:
ben en fait au dernier else il bugge et je comprend pas pq il me met

In function `int main(int, char**)':

43 expected primary-expression before "else"

43 expected `;' before "else"
un else doit forcément suivre un if, là ca n'est pas le cas. ;p
 
1er
OP
F@t Boy

F@t Boy

Born to grill
aaaaaaaaah ouais mais si je met if (estim<0 || estim>a)

a la place du else ça fct?

pcq j ai essayé de le mettre avant le while , et ça part méchament en vrille
 

zoheir

cvm.mangaleet()
F@t Boy a dit:
aaaaaaaaah ouais mais si je met if (estim<0 || estim>a)

a la place du else ça fct?

pcq j ai essayé de le mettre avant le while , et ça part méchament en vrille
faut revoir l'algo de ton prog, là c'est un peu le merdier!!!

il est tard là, jregarderai demain si j'ai le temps ;p

sinon oui tu peux mettre un if, ca compilera, mais je doute que ca fonctionnera parfaitement :-D
 
1er
OP
F@t Boy

F@t Boy

Born to grill
zoheir a dit:
faut revoir l'algo de ton prog, là c'est un peu le merdier!!!

il est tard là, jregarderai demain si j'ai le temps ;p

sinon oui tu peux mettre un if, ca compilera, mais je doute que ca fonctionnera parfaitement :-D
tu vois bien

qd je tape 0 il me demande si je veux recommencer
qd je trouve le nbs, il maffiche le nombre d essai indefiniment
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut