Problème visual C++ 2008 Express

Résolu
Canislupus -  
 Canislupus -
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

9 réponses

  1. Canislupus
     
    Bon okay, y'a même pas de tabulation, laissez tomber.
    1
  2. sandul Messages postés 4013 Statut Membre 723
     
    #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
    1. Canislupus
       
      Merci beaucoup ^^
      0
  3. Canislupus
     
    Et si je n'aime pas le British ?
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. sandul Messages postés 4013 Statut Membre 723
     
    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
  6. Canislupus
     
    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
  7. sandul Messages postés 4013 Statut Membre 723
     
    Sais pas. Tu peux poster tout ton code ? Quel genre de projet as-tu créé ?
    0
  8. Canislupus
     
    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
  9. Canislupus
     
    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