Chào các bác, em có một thắc mắc như thế này. Dưới đây là một đoạn code trong bài DSLK về quản lý sinh viên:
SV* temp = new SV;
string m = "";
float n;
temp->set_ho_ten(m);
cout<<"Nhap diem thi : "; temp->set_dt(n);
cin.
ignore(); //<-- Nếu không bỏ \n trong stream input đi thì họ tên lần sau sẽ là ""
Vấn đề em muốn hỏi là ở chỗ tại sao cin.ignore() vào sau dòng temp->set_ho_ten(m) thì chương trình sẽ chạy lung tung beng hết cả lên
?
Về chỗ này, em có search trên mạng thì có một câu hỏi như thế này
Code:
http://stackoverflow.com/questions/10199897/cin-getline-is-skipping-an-input-in-c
Bác nào có thể giải thích cụ thể cho em đoạn code mà người trả lời đưa ra hoạt động thế nào không ?
std::string numnber;
std
::getline(std
::cin, number
);
int n;
std::stringstream numberline(number); // Tại dòng này???
numberline >> n;