Salut à tous.
Je post mon prg cherchenbr modifié (voir sujet précédent ''int main" ).
Programme compilé avec visual C++ 06. ( zéro erreur )
j'ai essayé (j' y suis peut-être arrivé), avec vos conseils de le faire sans récursivité et sans appel à la fonction int main(), mais avec des boucles.
1) peut on le faire moins compliqué en ayant le même résultat?
2) je sors du pgr avec des "return(0)", est ce la bonne manière?
3) si vous trouvez des trucs bizarres, ben! ça ne me vexera pas. Dites moi tout.

Voilà mon super Pgr.
Merci pour les coups de mains d'hier, d'aujourd' hui et de demain.
Pratix
#include <iostream>
#include<ctime>
#include<cstdlib>
using std::cout;
using std::cin;
using std::endl;
int NbrAleatoire();
int Compare(int Chiffre1,int Alea1);
int Affiche(int Res);
int Chiffre;
int Essais;
int Alea;
int main()
{
while(true)
{
cout<<"entrez un chiffre entre 1 et 500"<<endl;
Chiffre=0;
Essais=0;
Alea=NbrAleatoire();
while(true)
{
Essais++;
cout<<"Essais "<<Essais<<endl<<endl;
cin>>Chiffre;
int Resultat=Compare(Chiffre,Alea);
int Finish=Affiche(Resultat);
if(Finish==5)
{
char z;
cin>>z;
if(z=='o')
{
break;
}
else
{
return(0); //POUR SORTIR DU PGR.
}
}
}
}
return(0);
}
int NbrAleatoire()
{
srand(time(0));
return(1+rand()%500);
}
int Compare(int Chiffre1,int Alea1)
{
while(Essais!=8||Chiffre==Alea1)
{
if(Chiffre1<Alea1)
{
return(1);
}
if (Chiffre1>Alea1)
{
return(2);
}
else
{
return(3);
}
}
return(4);
}
int Affiche(int Res)
{
switch (Res)
{
case 1:
cout<<"trop petit "<<endl;
return(0);
case 2:
cout<<"trop grand "<<endl;
return(0);
case 3:
cout<<"gagne: voulez vous rejouer? (o,n):"<<endl;
return(5);
case 4:
cout<<"perdu! le nombre etait "<<Alea<<endl;
cout<<"voulez vous rejouer? (o,n)"<<endl;
return(5);
}
return(0);
}