Witam, mam problem z programem, który pyta użytkownika jak ma na imię, nazwisko i ile ma lat, a następnie to wypisuje. Przy wczytywaniu zwykłym cinem wszystko jest dobrze, a z getline przy wykonywaniu 2 pętli zamiast pojedynczo wypisywać pytania to od razu pojawia się " Podaj Imię: Pojaj nazwisko: ". Jak to naprawić i o co chodzi?
#include <string>
#include <iostream>
void wczytajOsobe(std::string & name, std::string & surname, int & wiek)
{
std::cout << "Podaj imie: ";
getline(std::cin, name);
//std::cin >> name;
std::cout << "Podaj nazwisko: ";
//std::cin >> surname;
getline(std::cin, surname);
std::cout << "Podaj wiek: ";
do
{
std::cin.clear();
std::cin.sync();
std::cin >> wiek;
} while(std::cin.fail());
}
void wypiszOsobe(std::string name, std::string surname, int wiek)
{
std::cout << "Nazywasz sie " << name << " " << surname << " i masz " << wiek << " lat. \n";
}
int main()
{
std::string imie[ 2 ];
std::string nazwisko[ 2 ];
int wiek[ 2 ];
for( int i = 0; i < 2; i++ )
wczytajOsobe( imie[ i ], nazwisko[ i ], wiek[ i ]);
for( int i = 0; i < 2; i++ )
wypiszOsobe( imie[ i ], nazwisko[ i ], wiek[ i ] );
return 0;
}