Cześć niedawno zacząłem zabawę z obiektowym cpp
Napisałem sobie taki pierwszy program
#include <iostream>
using namespace std;
class Samochod{
public:
string marka;
string model;
int rocznik;
int przebieg;
void wczystaj(){
cout << "Podaj marke samochodu: "<<endl;
getline(cin,marka);
cout << "Podaj model: "<<endl;
getline(cin,model);
cout << "Podaj rocznik: "<<endl;
cin >> rocznik;
cout << "Podaj przebieg: "<<endl;
cin >> przebieg;
}
void wypisz(){
cout << "Marka: " << marka << endl;
cout << "Model: " << model << endl;
cout << "Rocznik: " << rocznik << endl;
cout << "Przebieg: " << przebieg << endl;
}
};
int main() {
Samochod s1;
s1.wczystaj();
s1.wypisz();
Samochod s2;
s2.wczystaj();
s2.wypisz();
return 0;
}
Problem jest przy getline, po uruchomieniu program działa prawidłowo, pyta o marke, model itp, następnie wszystkie dane wypisuje, lecz gdy wypisze dane s1 to zamiast zapytac o marke samochodu s2 to wypisuje "Podaj marke samochodu" i nie czekając na wprowadzenie marki wypisuje "Podaj model samochodu" ale tutaj juz czeka na podanie modelu
Rolls Royce
(cin >> string
wczytuje do pierwszego białego znaku)