IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Problème pour première utilisation


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 127
    Par défaut Problème pour première utilisation
    Bonjour,

    J'ai un petit problème avec C++ où je viens de me lancer.

    Déjà j'ai du mal entre les .cpp et les .c : quand je crée un projet (nommé "Apprentissage") et après un fichier source celui ci est sauvegardé automatiquement en .cpp alors que je vois partout qu'il doit être sauvegardé en .c ?

    Après lorsque j'essaie un premier exemple (pris dans un cours intitulé "Premiers pas en C++" lol) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #include <iostream>
    int main()
    {
    int iEntier1;
    cout << "Saisir un entier : " << endl; // Affiche à l’écran
    cin >> iEntier1; // Lit un entier
    int iEntier2, iSomme;
    cout << "Saisir un autre entier : " << endl;
    cin >> iEntier2;
    iSomme=iEntier1 + iEntier2;
    cout << "La somme de " << iEntier1 << " et de " << iEntier2
    << " vaut : " << iSomme << endl; // endl = saut de ligne
    return 0;
    }
    Lorsque je compile ça me marque que le "cout" n'est pas reconnu.
    On m'a parlé alors du std::cout à la place de cout tout seul.
    J'ai essayé et ça marche quand je compile.

    Mais : pourquoi dans deux cours j'ai cout et non std::cout ?
    Une fois compiler comment voir le résultat (je fais compiler et exécuter et aucune erreur mais je ne vois pas de fenêtre s'ouvrir ).

    Merci par avance pour toute ces questions sans réponse et assez bête que je me pose.

    Hollow

    PS: j'utilise Dev C++ sous Windows.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut
    Si tu ne veux pas avoir à taper std::cout à chaque fois que tu l'utilises, inscrit au dessus de ton main : using namespace std;
    C'est tout !

  3. #3
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Toute la bibliothèque standard fait partie du namespace std.
    Dès lors pour y accéder il faut utiliser le préfixe std:: devant chaque objets/classes/fonctions appartenant à la bibliothèque. Ainsi cout est std::cout, cin est estd::cin,...

    Mais si tu souhaite éviter de taper std:: a chaque fois, utilise l'instruction using.
    (using namespace std
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  4. #4
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par défaut
    L'extension .c, c'est pour marquer les fichiers de code source de C, pour les fichier de code source de C++ c'est .cpp ; les .h contiennent les déclarations de classes, de fonctions, etc. Donc ici tu dois sauvegarder tes fichiers en .cpp.

    Les objets de la bibliothèque standard du C++ sont dans l'espace de nom "std". Cela signifie que lorsque tu veux utiliser un objet décrit dedans, tu dois indiquer au compilateur que c'est dans cet espace qu'il doit le rechercher, sinon il ne le trouvera pas tout seul.

    Pour ça, deux solutions :
    - soit à chaque utilisation d'une classe ou d'une fonction, tu indique explicitement de regarder dans le namesapce std => "std::cout" ;
    - soit tu indiques au début du fichier que tu veux te référer au namespace std, auquel cas si le compilateur ne reconnait pas un objet, il ira tout seul regarder dans le namespace : => "using namespace std;".

    Note : évite de mettre using namespace ... dans un .h que tu veux ensuite inclure quelque part, cela peut poser des problèmes.

    Lorsque tu lances l'exécution du programme que tu viens de compiler, il ouvre une fenêtre de console, exécute le programme, et ferme la fenêtre. Si tu veux pouvoir voir le contenu de la fenêtre, il te faut soit ouvrir toi-même une console, et te déplacer jusque à l'exe que tu as créé, et le lancer à partir de cette console, soit ajouter à la fin du fichier, juste avant return 0 : system("pause");

Discussions similaires

  1. Besoin d'aide pour première utilisation de diff
    Par vallica dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 07/06/2008, 16h22
  2. Réponses: 5
    Dernier message: 22/11/2007, 20h12
  3. [VC++2005Pro]Problème de première utilisation
    Par dekron dans le forum Ogre
    Réponses: 2
    Dernier message: 30/04/2007, 16h39
  4. [Lazarus] Problème pour l'utilisation des fichiers
    Par Lulu_n10 dans le forum Lazarus
    Réponses: 7
    Dernier message: 30/03/2007, 16h54
  5. Réponses: 9
    Dernier message: 14/09/2006, 21h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo