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
Partager