Mình viết chương trình nhập n sinh viên sử dụng class. Ở hàm nhập sinh viên mình đã gọi hàm fflush(stdin) để xóa bộ nhớ đệm rồi mà lúc chạy chương trình vẫn không dừng lại để nhập mã số sinh viên là sao ???
#include <iostream>
#include <string>
using namespace std;
class Candidate
{
private:
string mssv, hoten;
int ngay, thang, nam;
float toan, van, anh;
public:
void nhap();
void xuat();
};
void Candidate::nhap()
{
fflush(stdin);
cout << "\nNhap ma so sinh vien : ";
getline(cin, mssv);
fflush(stdin);
cout << "\nNhap ten sinh vien : ";
getline(cin, hoten);
cout << "\nNgay sinh : ";
cin >> ngay;
cout << "\nThang : ";
cin >> thang;
cout << "\nNhap nam: ";
cin >> nam;
cout << "\nToan : ";
cin >> toan;
cout << "\nAnh : ";
cin >> anh;
cout << "\nVan : ";
cin >> van;
}
void Candidate::xuat()
{
cout << "\nMa so : " << mssv;
cout << "\nHo ten : " << hoten;
cout << "\nNgay sinh : ngay " << ngay << " thang " << thang << " nam " << nam;
cout << "\nToan : " << toan << " diem";
cout << "\nAnh : " << anh << " diem";
cout << "\nVan : " << van << " diem";
}
int main()
{
Candidate *sv;
int n;
cout << "\nNhap so luong sinh vien: ";
cin >> n;
sv = new Candidate[n];
for (int i = 0; i < n; i++)
{
cout << "\nThong tin sinh vien thu " << i + 1 << " : \n";
sv[i].nhap();
sv[i].xuat();
}
delete sv;
return 0;
}
```
<img src="//daynhauhoc.s3-ap-southeast-1.amazonaws.com/original/2X/0/0465ef14aaaa7c70e687839f851cffa24453c109.png" width="690" height="387">