[Rozdzial 26] Zadanie domowe 2.
Ostatnio zmodyfikowano 2015-12-07 16:30
baddevil96 Temat założony przez niniejszego użytkownika |
[Rozdzial 26] Zadanie domowe 2. » 2015-12-07 16:21:30 Hej. Wg. przykładu z rozdziału 26, metoda std::getline() powinna zapisywac kilka slow w jednej zmiennej, u mnie zamiast tego pobiera pierwsze slowo, a kolejne ignoruje, w czym moze tkwic problem? #include <iostream> #include <limits> #include <string> using namespace std;
void wczytajOsobe( string & dane ) { int warunek; do { bool czyWczytano; cout << endl << "Podaj imie, nazwisko i wiek: "; cin >> dane; czyWczytano = cin.good(); if( czyWczytano == false ) { warunek = 0; cin.clear(); cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' ); } else { warunek = 1; cin.clear(); cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' ); } } while( warunek != 1 ); }
void wypiszOsobe( string dane ) { cout << endl << "Twoje dane osobowe to: " << dane << endl; }
int main() { std::string dane[ 2 ]; for( int i = 0; i < 2; i++ ) wczytajOsobe( dane[ i ] ); for( int i = 0; i < 2; i++ ) wypiszOsobe( dane[ i ] ); return 0; }
|
|
carlosmay |
» 2015-12-07 16:28:23 cin >> dane; może w tym, że nie używasz funkcji std::getline() ? |
|
baddevil96 Temat założony przez niniejszego użytkownika |
» 2015-12-07 16:30:44 da sie jakos temat usunac? |
|
« 1 » |