[Lekcja 24] Błąd przy podawaniu wieku
Ostatnio zmodyfikowano 2013-07-31 14:43
wxnko Temat założony przez niniejszego użytkownika |
[Lekcja 24] Błąd przy podawaniu wieku » 2013-07-31 14:38:42 Cześć. Otóż mam problem z zadaniem z lekcji 24. Kod cały napisałem 0 błędów #include <iostream> #include <cstdlib> #include <string> bool sprWiek( int wiek3 ) { std::cin.clear(); std::cin.sync(); std::cin >> wiek3; return std::cin.good(); } void podajWiek( int & wiek3 ) { do { std::cout << "Ile masz lat: "; } while( sprWiek( wiek3 ) == false ); } void wczytajOsobe( std::string & imie2, std::string & nazwisko2, int & wiek2 ) { std::cout << "Jak masz na imie: "; std::cin >> imie2; std::cout << "Jak masz na nazwisko: "; std::cin >> nazwisko2; podajWiek( wiek2 ); } void wypiszOsobe( std::string imie1, std::string nazwisko, int wiek, int i ) { std::cout << "\nOsoba " << i + 1 << std::endl << "\nImie: " << imie1 << "\nNazwisko: " << nazwisko << "\nWiek: " << wiek << std::endl; } int main() { std::string imie[ 2 ]; std::string nazwisko[ 2 ]; int wiek[ 2 ]; for( int i = 0; i < 2; i++ ) { std::cout << "Dane " << i + 1 << " osoby\n"; wczytajOsobe( imie[ i ], nazwisko[ i ], wiek[ i ] ); } for( int i = 0; i < 2; i++ ) wypiszOsobe( imie[ i ], nazwisko[ i ], wiek[ i ], i ); return 0; }
I wszystko pięknie działa tylko ten wiek przy wypisywaniu go wyskakują jakieś liczby Z góry dzięki za pomoc :) |
|
wxnko Temat założony przez niniejszego użytkownika |
» 2013-07-31 14:43:05 Naprawiłem otóz w bool sprWiek( int wiek3 ) { std::cin.clear(); std::cin.sync(); std::cin >> wiek3; return std::cin.good(); } Powinienem napisać bool sprWiek( int & wiek4 ) { std::cin.clear(); std::cin.sync(); std::cin >> wiek4; return std::cin.good(); } |
|
« 1 » |