Bon en fait je vais poster mon programme (oui je sais c'est moche).
Le but du programme original était de faire deviner à l'utilisateur un nombre entre 1 et n (choisi par l'user). Un fonction random pour choisir le nombre et c'est parti ! Le programme précise si le nombre choisi est plus grand ou plus petit.
Le programme actuel permet à l'ordinateur de jouer contre lui même.
Voilà le corps du programme :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream>
using namespace std;
void main()
{
void Affichage_choix (int& borne_sup);
void Test_egalite (int alea,int& nbre ,int borne_sup);
void Dichotomie (int alea,int& nbre,int borne_sup);
int borne_sup,alea,nbre ;
Affichage_choix (borne_sup);
do
{
srand ( time(NULL) );
alea=rand()%borne_sup +1;
Test_egalite (alea,nbre,borne_sup);
}
while (nbre>0);
cout<<"Plus envie de jouer"<<endl;
}
Et les procédures :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream>
using namespace std;
void Affichage_choix (int& borne_sup)
{
do
{
cout<< "Entrez la borne superieure : ";
cin>> borne_sup;
}
while (borne_sup<=0);
}
void Test_egalite (int alea,int& nbre,int borne_sup)
{
int min, max;
bool trouve;
int i;
i=0;
trouve=false;
min=1;
max=borne_sup;
cout<< "J'ai choisi un nombre entre 1 et "<<borne_sup<<" a vous de le decouvrir ";
do
{
cout<< endl<<"Essai "<<i+1<<" ";
nbre = min + ((max-min) / 2);
if (nbre==alea)
{
trouve=true;
}
else
{
if (alea>nbre)
{
min=nbre+1;
}
else
{
if (min=alea)
{
nbre=min;
trouve=true;
}
else
{
max=nbre-1;;
if (max=alea)
{
nbre=max;
trouve=true;
}
}
}
}
}
while trouve=true || (min>=max)
cout<<"Vous aves gagné ! (score "<<i<<" essais), le nombre choisi était bien"<<nbre<<endl;
}
J'ai le message d'erreur suivant, je ne comprends pas pourquoi !
error C2061: erreur de syntaxe : identificateur 'trouve'
Merci d'avance pour l'aide