Débugger code c++. erreur non trouvée.

Résolu
dorian100 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je débute en programmation c++, je viens de terminer un code source, le débuggeur me donne l'erreur suivante:

error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'cout'

le problème c'est que je ne trouve pas mon erreur, svp aidez moi.

#include <iostream>
#include <time.h>
using namespace std;

void main (void)
{
srand ( (int) time(NULL));
int nbjoueur, nbmystere;
int score =0;

do
{
cout << "Entrez une tentative (entre 0 et 500):";
cin >> nbjoueur;
score ++;

if(nbjoueur == nbmystere)
cout << "felicitation ! vous avez trouve le nombre mystere ! "
<< endl
<< " vous avez eu besoin de" << score << "tentative(s)." << endl;

else
{
if ( nbjoueur < nbmystere )
cout << "Plus !" << endl;
else (nbjoueur > nbmystere )
cout << "moins !" << endl;
}

}
while ( nbjoueur != nbmystere );

system("pause");
}
A voir également:

8 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu as oublié un ";" ici :
else (nbjoueur > nbmystere )
cout << "moins !" << endl;
À moins que ce ne soit un "if" qui manque...
0
BleuPowaaaa Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
cout << "felicitation ! vous avez trouve le nombre mystere ! "

Le voilà ton ';' manquant. ^^
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Non, ce n'est pas gênant, son instruction continue à la ligne d'après avec "<<"
0
dorian100 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   3
 
ok merci, sa marche
0
kuchi007 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   31
 
if(nbjoueur == nbmystere)
cout << "felicitation ! vous avez trouve le nombre mystere ! "
<< endl
<< " vous avez eu besoin de" << score << "tentative(s)." << endl;


Je ne suis pas accoutumé au C ++ mais d'après la structure globale du prog j'observe un char ";" à la fin de la chaine de caractères suivant le mot réservé "cout" sauf dans le paragraphe que j'ai copié collé.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Comme je le disais à BleuPowaaaa, ceci n'est pas une erreur.

Ici l'instruction "cout" est écrite sur 3 lignes mais elle est bien terminée par un ";" (après le "endl") donc il n'y a pas de problème ici.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dorian100 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   3
 
je viens de remodifier mon code source et la la compilation marche mais une fois le programme créé quand je donne une valeur, il me dit plus et moins en même temps, je ne comprend pas:

#include <iostream>
#include <time.h>
using namespace std;

void main (void)
{
srand ( (int) time(NULL));
int nbjoueur;
int nbmystere;
nbmystere = rand () %501;
int score =0;

do
{
cout << "Entrez une tentative (entre 0 et 500):";
cin >> nbjoueur;
score ++;

if(nbjoueur == nbmystere)
cout << "felicitation ! vous avez trouve le nombre mystere ! "
<< endl
<< " vous avez eu besoin de" << score << "tentative(s)." << endl;

else
{
if ( nbjoueur < nbmystere )
cout << "Plus !" << endl;
else (nbjoueur > nbmystere );
cout << "moins !" << endl;
}

}
while ( nbjoueur != nbmystere );

system("pause");
}
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Comme je le disais, ce n'est pas le ";" qui pose problème mais il manque un "if"
else if (nbjoueur > nbmystere) cout << "moins !" << endl;
0
dorian100 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   3
 
bien vu pour le if, encore merci!

sa veut dire qu'il y a des fautes dans les livres de chez microapp (le guide complet du c++).

le if n'est pas mentioné dans le code source du livre. enfin...

merci encore une fois à tous.
0
kuchi007 Messages postés 308 Date d'inscription   Statut Membre Dernière intervention   31
 
Ouh pas bête je l'ai même pas vu :O
Shame on me !
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
C'est une question d'habitude...
"else (nbjoueur > nbmystere ); " aurait été une instruction pour le moins bizarre puisque ça ne fait rien, l'oubli du "if" paraît alors évident puisqu'il y a une condition booléenne en jeu !
0