Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wpisując + program omija następna wejscie cin

Ostatnio zmodyfikowano 2014-12-03 08:10
Autor Wiadomość
dzejkobjj
Temat założony przez niniejszego użytkownika
Wpisując + program omija następna wejscie cin
» 2014-12-03 00:58:06
Witam
Mam program w którym wpisuje po kolei różne dane w obiekty typu string poprzez standardowe strumienie wejścia cin. I gdy do jednego z obiektow na koncu zapisz znak "+" program omija obiekt nastepny (nic mu nie przypisuje) i przechodzi do kolejnego. Już obrazuje o co mi chodzi na podstawie tego prostego programu:
C/C++
#include<iostream>
#include<string>

using namespace std;
int main() {
   
    string x;
    string y;
    string z;
   
    cout << "Podaj 1: ";
    cin >> x;
    cout << "Podaj 2: ";
    cin >> y;
    cout << "Podaj 3: ";
    cin >> z;
   
    system( "pause" );
}

Gdy do x wpiszemy jakiś ciag znaków na którego końcu znajduje się "+" program wyświetli "Podaj 2" i od razu po nim "Podaj 3" nie dając nam możliwości wpisania niczego do y. Może to głupie ale ten + jest mi koniecznie niezbędny na końcu wyrazu wiec może wie ktoś jak sprawić by program nie omijał kolejnego elementu? A może to coś z kompilatorem?

Używam najnowszego DEVa z kompilatorem GCC.
P-122039
maly
» 2014-12-03 08:10:51
Zamiast cin >> x; użyj std::getline(std::cin, x);.
P-122042
« 1 »
  Strona 1 z 1