Les Allergies
Alimentaires
Posez votre question Signaler

Problème visual C++ 2008 Express [Résolu]

Canislupus - Dernière réponse le 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.
Lire la suite 

Problème visual C++ 2008 Express »

10 réponses
Réponse
+0
moins plus
Salut,

Si tu n'as rien faire ce soir et tu aimes le british, jette un coup d'oeil par ici: http://members.gamedev.net/sicrane/articles/iostream.html

++
Ajouter un commentaire
Réponse
+0
moins plus
Et si je n'aime pas le British ?
Ajouter un commentaire
Réponse
+0
moins plus
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;
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
Sais pas. Tu peux poster tout ton code ? Quel genre de projet as-tu créé ?
Ajouter un commentaire
Réponse
+0
moins plus
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 ^^
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Bon okay, y'a même pas de tabulation, laissez tomber.
Ajouter un commentaire
Réponse
+0
moins plus
#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.
Canislupus - 30 oct. 2009 à 19:23
Merci beaucoup ^^
Ajouter un commentaire
Ce document intitulé « Problème visual C++ 2008 Express » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?