Rechercher : dans
Par :

Problème visual C++ 2008 Express

Dernière réponse le 30 oct 2009 à 19:23:59 Canislupus, le 30 oct 2009 à 17:40:37 
 Signaler ce message aux modérateurs

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.

Configuration: Windows Vista Internet Explorer 7.0

Meilleures réponses pour « Problème visual C++ 2008 Express » dans :
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.

1

sandul, le 30 oct 2009 à 17:45:56

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

++ A man would die, though he were neither valiant nor miserabl­e,
only upon a weariness to do the same thing so oft over and o­ver. [Bacon]

Répondre à sandul

2

Canislupus, le 30 oct 2009 à 18:34:49

Et si je n'aime pas le British ?

Répondre à Canislupus

3

sandul, le 30 oct 2009 à 18:38:13

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;

Répondre à sandul

4

Canislupus, le 30 oct 2009 à 18:43:02

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 ?

Répondre à Canislupus

5

sandul, le 30 oct 2009 à 18:58:06

Sais pas. Tu peux poster tout ton code ? Quel genre de projet as-tu créé ? A man would die, though he were neither valiant nor miserabl­e,
only upon a weariness to do the same thing so oft over and o­ver. [Bacon]

Répondre à sandul

6

Canislupus, le 30 oct 2009 à 19:01:19

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 ^^

Répondre à Canislupus

7

Canislupus, le 30 oct 2009 à 19:11:24

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

Répondre à Canislupus

8

Canislupus, le 30 oct 2009 à 19:12:47

Bon okay, y'a même pas de tabulation, laissez tomber.

Répondre à Canislupus

9

sandul, le 30 oct 2009 à 19:23:13

#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.

Répondre à sandul

10

 Canislupus, le 30 oct 2009 à 19:23:59

Merci beaucoup ^^

Répondre à Canislupus