Problème de "cout"

Résolu
infinity7780 Messages postés 4 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 29 mai 2009 - 28 mai 2009 à 00:27
infinity7780 Messages postés 4 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 29 mai 2009 - 29 mai 2009 à 23:35
Bonjour,

J'ai acheté et j'ai lu plusieurs chose sur le C++.
Mais comme je débute, je doit surement me trompé.
Alors voici ma question. est-ce normal que visual C++ ne reconnait pas le code "cout"?
voici le programme:

#include

int main()
{
    std::cout << "petit calcul" << std::endl;    int a 0, b 0;
    std::cout << a << "?";
    cin >> a;
    std::cout << b << "?";
    cin >> b;
    int c = a + b
    std::cout << c <<;
    return 0
}

même le bête programme "Hello World" ne veut pas fonctionner.

#include
        int main(int argc, char *argv[])
{
       std::cout << "Hello world !" << std::endl;
       return 0;
}

je ne comprend pas pourquoi il ne veut pas fonctionner.
pouvez vous m'aidez?
merci

6 réponses

romain60112 Messages postés 70 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 17 avril 2013 1
28 mai 2009 à 08:50
Bonjour,
tu as oublié la commande en fin de programme:
std::cin.get();
// Attend la frappe d'une touche. 
Pour t'éviter a tapez "std::...." utilise l'espace de nommage prévu a cette effet :  using namespace std;
il alégera ta synthaxe.
Voici ce que cela donne :

using

namespace std; // Pour l'espace de nommage & aussi // pour alléger la synthaxe -> std ::




#include









int



main(){

std::cout<<"Hello World"<<std::endl;

system("pause"); // On fait une pause à l'instant final

return 0;

cin.get(); // Appuez sur une touche...

}

Ps : Vérifie bien la synthaxe de ton code, il me semble qu'il y a pas mal de petites erreurs : #include c'est #include

Cordialement
Romain
3
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
28 mai 2009 à 11:41
Je pense que tu partais d'une bonne intention "romain60112", mais tu dis quelques bêtises...
Non, juste non. N'utilise pas le "using namespace std;"

C'est une commande qui fait sauter les espaces de noms. C'est dommage d'avoir introduit cette fonctionnalité en C++ pour bêtement la faire sauter...

Si tu veux écrire cout au lieu de std::cout, alors préfère la syntaxe:
"using std::cout;", bien plus propre. De plus, il est préférable de le faire dans un espace restreint (dans le corps d'une fonction, d'un namespace), mais surtout pas dans un header (.h ou .hh).
A mon humble avis, il est néanmoins préférable d'écrire explicitement std::cout (on est pas à trois caractères près).

Par exemple:

int main()
{
   using std::cout;
   using std::endl;

   cout << "pouet" << endl;
   return 0;
}

De plus les commandes:
system("pause"); // On fait une pause à l'instant final
std::cin.get(); // Attend la frappe d'une touche.

ne servent que si tu es sous windows et que tu n'exécutes pas le programme via un terminal. Si tu es sous un système unix, ou si tu utilises ton programme via "cmd", alors inutile d'utiliser ceci.

le std::cin.get(); étant après le "return", il sera en plus totalement ignoré.

Enfin, effectivement, ton seul problème aura été d'écrire "istream" au lieu "iostream".
3
infinity7780 Messages postés 4 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 29 mai 2009
28 mai 2009 à 23:47
Re,

Bon, j'ai tenté ça :

#include

int main()
{
   using std::cout;
   using std::endl;

   cout << "Hello world !" << endl;
   return 0;
}

et ça ne fonction toujours pas. J'ai testé sous visual C++ et Dev-C++
et rien ne marche.
Qui peut me dire qu'est qui ne va pas?
Voici le réponse de visual C++  quand je démarre le débogage :

1>------ Début de la génération : Projet : hello-world1, Configuration : Debug Win32 ------
1>Incorporation du manifeste en cours...
1>mt.exe : general error c10100b1: Failed to load file "..\Debug\hello-world1.exe". Le chemin d'acchs spicifii est introuvable.
1>Le journal de génération a été enregistré à l'emplacement "file://e:\gael\Visual Studio 2008\Projects\hello-world1\hello-world1\Debug\BuildLog.htm"
1>hello-world1 - 1 erreur(s), 0 avertissement(s)
======== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========

merci pour votre aide.
3
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
29 mai 2009 à 00:06
Le problème ne vient pas de ton code, qui est correct, mais du compilateur.
C'est une erreur spécifique au compilo livré avec visual, que je ne connais pas. Donc il faut que tu fasses une recherche google la dessus.
http://www.google.fr/search?hl=fr&q=mt.exe+%3A+general+error+c10100b1%3A+Failed+to+load+file&btnG=Rechercher&meta=

Apparemment, quelqu'un à résolu ce problème, peut être cela pourra-t-il t'aider:
http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/61046/
3

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

Posez votre question
infinity7780 Messages postés 4 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 29 mai 2009
29 mai 2009 à 12:32
Bon, J'ai résolu une partie de l'énigme. C'est mon ordinateur qui M...de.

Je viens de test mon minuscule programme à mon boulot avec Visual C++ 2008 Express.
Et ça fonction.

Chez moi je vais désinstaller et le réinstaller Visual C++ 2008 Express.

bip bip bip, je passe. lol
3
infinity7780 Messages postés 4 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 29 mai 2009
29 mai 2009 à 23:35
Bon, a voir, depuis que j'ai réinstaller le programme ça fonctionne.
Merci comme même de votre aide.

bip bip bip, je passe. lol
3
Rejoignez-nous