struct album {
int year;
string title;
double price;
};
void zadanie()
{
album newalbum[5];
for (int i = 0; i < 5; i++)
{
cout << "Wprowadz rok wydania.";
cin >> newalbum[i].year;
cout << "Wprowadz tytul.";
getline(cin, newalbum[i].title);
cout << "Wprowadz cene.";
cin >> newalbum[i].price;
}
cout << endl;
for (int i = 0; i < 5; i++)
{
cout << "Rok wydania: " << newalbum[i].year << endl;
cout << "Tytul: " << newalbum[i].title << endl;
cout << "Cena: " << newalbum[i].price << endl;
}
}
W tym przypadku zakładając, że użytkownik po podaniu roku wpisze np. trzy spacje i dopiero potem wciśnie enter... Nie będzie wtedy tak, że cin.ignore() bez argumentu zignoruje ostatni znak, który dostał, czyli właśnie '\n' i wtedy te spacje byłyby traktowane jako część zmiennej newalbum[i].year? Oczywiście to byłby błąd, gdyż ona jest typu int. Ale to wygląda tak, czy inaczej?