Asking user for re-entering input

Chào mọi người ạ!
Mọi người cho em hỏi là, trong C++, khi muốn yêu cầu người dùng nhập số nguyên, nhưng họ lại nhập vào ký tự hoặc số thập phân, thì làm sao ta có thể kiểm tra nó có phải số nguyên không và yêu cầu nhập lại ạ.
Em cảm ơn!

Dùng vòng lặp để nhập, khi nào đúng thì thoát vòng lặp. :unamused:

2 Likes

Em đã thử rồi ạ, ví dụ như while(a!=int(a)){} thì nó không chạy được ạ, và nếu như là kiểu string thì điều kiện trong while là gì vậy ạ?

Cho nhập 1 chuỗi, kiểm tra từng kí tự xem có hợp lệ là 1 số không. Sau đó chuyển chuỗi thành số bằng hàm stod() để chuyển về số.

Có cách nhanh hơn là gọi luôn hàm stod() và bao với try - catch, nếu có ngoại lệ xảy ra thì chuỗi đó không hợp lệ.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?