Problème visual C++ 2008 Express

Résolu/Fermé
Canislupus - 30 oct. 2009 à 17:40
 Canislupus - 30 oct. 2009 à 19:23
Bonjour,

Voilà, j'ai rédigé un programme sur visual C++ 6.0 contenat les répertoires suivants :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream.h>

Je travaille à présent sur mes programmes sur Visual C++ 2008, et au moment de l'exécuter, j'ai ce message d'erreur :

fatal error C1083: Impossible d'ouvrir le fichier include : 'iostream.h' : No such file or directory

Je suppose donc que le nom de répertoie est incorrect ou n'existe pas, mais je ne trouve pas la solution, j'ai tenté de supprimer le .h, mais ça ne change rien.

Je sollicite donc votre aide.

Merci de répondre simplement, je débute en programmation.

En vous remerçiant d'avance.
A voir également:

9 réponses

Bon okay, y'a même pas de tabulation, laissez tomber.
1
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 oct. 2009 à 19:23
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream> 

using namespace std;

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;
}


En gros, il manquait un ";" à la fin de la ligne while. Et "trouve == true", pas "trouve = true".

J'me sauve, bonne soirée.
1
Merci beaucoup ^^
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 oct. 2009 à 17:45
Salut,

Si tu n'as rien faire ce soir et tu aimes le british, jette un coup d'oeil par ici: https://members.gamedev.net/tutorials/programming/general-and-gameplay-programming/iostream-vs-iostreamh-r5318/

++
0
Et si je n'aime pas le British ?
0

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

Posez votre question
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 oct. 2009 à 18:38
Ben tant pis pour toi ;-)

Pour faire court, la réponse est la suivante: plus de iostream.h dans les compilateurs modernes, car remplacé (avantageusement) par iostream.

Remplace donc ton
#include <iostream.h>

par
#include <iostream>
using namespace std;
0
J'ai fait ce que tu m'as dit, l'erreur n'apparaît plus mais à la place j'obtiens l'erreur suivante :

fatal error C1083: Impossible d'ouvrir le fichier include : 'stdio' : No such file or directory

J'ai essayé d'ajouter using namespace std; après chaque nom de répertoire, mais ça ne change rien, y a t-il un problème différent ?
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
30 oct. 2009 à 18:58
Sais pas. Tu peux poster tout ton code ? Quel genre de projet as-tu créé ?
0
Non, le programme est encore un peu fouillis.

J'ai réglé mon problème, merci, il ne me reste plus qu'a trouver ce qui ne va pas dans mon programme et ça ira ^^
0
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
0