#include <iostream>
struct donatorzy
{
std::string nazwisko;
double kwota;
};
int main ()
{
using namespace std;
int wplacajacy;
cout << "Podaj liczbe wplacajacych: ";
cin >> wplacajacy;
donatorzy* w = new donatorzy[wplacajacy];
for(int licznik{0}; licznik < wplacajacy; licznik++)
{
cout << "Twoje nazwisko: ";
cin.ignore();
getline(cin, w[licznik].nazwisko);
if(w[licznik].nazwisko == "")
w[licznik].nazwisko += "brak";
cout << "Twoja kwota: ";
cin >> w[licznik].kwota;
}
cout << "\n\t\t\tNasi Wspaniali Sponsorzy\n\n";
for(int licznik{0}; licznik < wplacajacy; licznik++)
{
if(w[licznik].kwota > 10000)
cout << "\t\t\t" << w[licznik].nazwisko << ", " << w[licznik].kwota << endl;
}
cout << "\n\t\t\tNasi Sponsorzy\n\n";
for(int licznik{0}; licznik < wplacajacy; licznik++)
{
if(w[licznik].kwota <= 10000)
cout << "\t\t\t" << w[licznik].nazwisko << ", " << w[licznik].kwota << endl;
}
return 0;
}
Mam problem. Nie rozumiem dlaczego jeżeli nie użyje cin.ignore() to pomija mi wyczytywanie przez getline. Do czego dokładnie służy cin.ignore()?