Program działa lecz omija prośbe o wpisanie danych

0

Witam. Mam problem.
Opis programu: Na początku pobiera od użytkownika dane 2 razy : Imie i nazwisko oraz wiek a pozniej wypisuje je na ekranie
Opis problemu: Na poczatku jest ok ladnie pobiera imie i nazwisko lecz przy drugim pobieraniu danych omija mi prosbe o wpisanie imienia i nazwiska . Jestem początkujący więc to może być błachy błąd ale również poważny błąd więc proszę o wyrozumiałość :) .
Program: code:blocks 13.12

#include <iostream>
#include <string>
using namespace std;

void wczytajOsobe( string & imieNazwisko,int & Wiek) //pobiera dane od uzytkownika
{
   imieNazwisko.clear();
   cout<< "\nPodaj swoje imie i nazwisko:\t" ;
   getline(cin,imieNazwisko);
   cout<< "\n\n Podaj swoj wiek \t";
   cin>>Wiek;
}

void wypiszOsobe (string & imieNazwisko, int & Wiek)  // wypisuje wszystkie dane uzytkownikow podane wczesniej
{
    cout<< " \n\n Twoje dane: \n " << endl;
    cout<<" Imie i Nazwisko:\t"<<imieNazwisko<<endl;
    cout<<"\n Twoj Wiek \t" <<Wiek<<endl;
}

int main()
{
    string imieNazwisko[ 2 ];
    int wiek[ 2 ];
    for( int i = 0; i < 2; i++ )
         wczytajOsobe( imieNazwisko[ i ], wiek[ i ] );

    for( int i = 0; i < 2; i++ )
         wypiszOsobe( imieNazwisko[ i ], wiek[ i ] );

    return 0;
}
 
1

Lekcja na dziś: cin.ignore() (wstawiasz go po cin>>Wiek;).

0

A no tak coś o tym było . Działa idealnie. Dzięki :D

1

Można jeszcze:

#include <iomanip>
... 
   getline(cin>>ws,imieNazwisko);

1 użytkowników online, w tym zalogowanych: 0, gości: 1