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

[Lekcja 24] Błąd przy podawaniu wieku

Ostatnio zmodyfikowano 2013-07-31 14:43
Autor Wiadomość
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
C/C++
#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 :)
P-89105
wxnko
Temat założony przez niniejszego użytkownika
» 2013-07-31 14:43:05
Naprawiłem otóz w
C/C++
bool sprWiek( int wiek3 )
{
    std::cin.clear();
    std::cin.sync();
    std::cin >> wiek3;
    return std::cin.good();
}
Powinienem napisać
C/C++
bool sprWiek( int & wiek4 )
{
    std::cin.clear();
    std::cin.sync();
    std::cin >> wiek4;
    return std::cin.good();
}
P-89106
« 1 »
  Strona 1 z 1