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 :

cout s'exécute 2 fois


Sujet :

C++

  1. #1
    Membre très actif
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par défaut cout s'exécute 2 fois
    Bonjour,

    J'ai tapé le code ci-dessous:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include "stdafx.h" //obligatoire sous Visual C++ 2005
    #include <iostream> //cin et cout
    #include <string> //classe string
    #include <vector> //classe vector
    #include <conio.h> //fonction getch()
     
    using namespace std;
     
    int main(void)
    {
        string c;
        vector<string> v;
        cout << "Bonjour" << endl;
        c="Vous avez écrit:";
        while ( c != "Q"){
            v.push_back(c);
            cout << "Entrez du texte" << endl << "entrez Q pour quitter" << endl ;
            cin >> c;
            cout << endl;
        }
        for (int i=0; i<v.size(); i++)
            cout << v[i] << endl;
        getch();
    }


    J'ai tapé exactement: Bonjour, ENTREE C'est moi ENTREE Coucou
    Or, vous voyez que entre "C'est moi" et "Coucou", cout s'est exécuté deux fois. Pourquoi?

    Que se passe-t-il?

    Merci d'avance,
    ProgVal

    PS: Je viens également de remarquer, après avoir exécuté la boucle for que le programme avait réagit comme si j'avais appuyé sur Enter entre "C'est" et "moi".

    EDIT2: Je viens de comprendre! cout s'exévute autant de fois qu'il y a de mots tapés, car cin sépare les mots. Comment faire pour l'éviter

  2. #2
    Membre très actif
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Par défaut
    J'ai résolu le problème en remplaçant cin par getline (cin,c);

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 439
    Par défaut
    cin >> c lit un "mot" (il s'arrête au premier blanc).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script qui s'exécute deux fois ?
    Par ben53 dans le forum Langage
    Réponses: 1
    Dernier message: 29/01/2007, 15h56
  2. Sous-requête excutée plusieurs fois dans une requête
    Par sheridan31 dans le forum Oracle
    Réponses: 8
    Dernier message: 03/07/2006, 16h18
  3. Réponses: 2
    Dernier message: 16/05/2006, 17h53
  4. La fonction à la fermeture d'un fichier est exécutée 2 fois...
    Par Pierre Fauconnier dans le forum Access
    Réponses: 4
    Dernier message: 27/04/2006, 14h14
  5. Script qui s'exécute 2 fois!
    Par franculo_caoulene dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 07/12/2005, 09h48

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