Tôi đã cố gắng nhắc người dùng nhập liệu và thực hiện xác thực. Ví dụ: chương trình của tôi phải có 3 đầu vào của người dùng. Khi nó truy cập không phải số nguyên, nó sẽ in thông báo lỗi và nhắc nhập lại. Sau đây là cách chương trình của tôi sẽ trông giống như khi chạy:Xác nhận số nguyên cho đầu vào
Nhập số: a
sai đầu vào
Nhập số: 1
Nhập số: b
Wrong đầu vào
Nhập số: 2
Nhập số: 3
số nhập không 1,2,3
Và đây là mã của tôi:
double read_input()
{
double input;
bool valid = true;
cout << "Enter number: " ;
while(valid){
cin >> input;
if(cin.fail())
{
valid = false;
}
}
return input;
}
phương pháp chính của tôi:
int main()
{
double x = read_input();
double y = read_input();
double z = read_input();
}
Khi tôi đầu vào đầu tiên không phải là số nguyên, chương trình chỉ thoát khỏi chính nó. Nó không yêu cầu nhắc lại. Làm thế nào tôi có thể sửa nó? Hoặc tôi có nghĩa vụ phải sử dụng một vòng lặp while do tôi yêu cầu đầu vào của người dùng.
Xin cảm ơn trước.
chúng tôi phải xem thêm mã .. bạn đã kiểm tra nó bằng trình gỡ rối chưa? có thể là một sự cố ... –
bên trong phương thức chính tôi chỉ viết double x = read_input(); double y = read_input(); double z = read_input(); Tôi đang làm sai cách? –