Nhờ mọi người!
Khi đến phần nhập choice
(kiểu int), em nhập ký tự thì chương trình bị lặp vô hạn. Có cách nào để chương trình hiểu là nhập sai và yêu cầu nhập lại không ạ!
Em cảm ơn!
Code:
void CongTy::Nhap() {
cout << "\n1. Nhap nhan vien san xuat";
cout << "\n2. Nhap nhan vien quan ly";
cout << "\n3. Nhap nhan vien van phong";
cout << "\n4. Thoat";
int choice = 0;
do {
cout << "----- Lua chon cua ban la: ";
do {
cin >> choice;
if (choice == 1) {
NhanVienSX sx;
sx.Nhap();
NhanVienSanXuat.push_back(sx);
}
else if (choice == 2) {
NhanVienQL ql;
ql.Nhap();
NhanVienQuanLy.push_back(ql);
}
else if (choice == 3) {
NhanVienVP vp;
vp.Nhap();
NhanVienVanPhong.push_back(vp);
}
else if (choice !=4){
cout << "\nBan da nhap sai! Moi nhap lai: ";
}
} while (choice < 1 && choice > 4);
} while (choice != 4);
}