Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Xin chào anh em. Anh em cho hỏi khi khai báo kiểu int thì khi nhập vào ký tự nó sẽ tự động dừng chương trình giờ em muốn nếu nhập ko phải từ (-2147483648 đến 2147483647) thì in ra kết thúc chương trình. Trường hợp này ko có điều kiện gì cụ thể chỉ đơn giản là nhập ko phải số nguyên thì báo nhập sai và in kết thúc chương trình. Làm như nào bây giờ?
Bạn có thể dùng try catch để bắt các trường hợp ngoại lệ.
vd:
1. Đơn giản nhất là dùng hàm kiểm tra xem nó có phải là số không : isdigit(giá trị);
- trả về:
0 : không phải số.
1: là số.
------------------------------------------------------
2. Giá trị nhập vào của cậu là 1 kí tự, hay có thể nhập vào 1 xâu?
- Nếu là 1 kí tự, thì cậu khai báo nhập vào kiểu char , sau đó so sánh nó với thứ tự trong bảng mã ASCII 49 <= char <= 57 thì là số.
- Nếu có thể nhập vào 1 xâu kiểu như abcshasdsdwd, 545dsds thì ... theo ngu kiến của mình thì khai báo đầu vào kiểu string, xong dùng vòng lặp kiểm tra từng kí tự xem có phải số hay không ( cách kiểm tra như cái bên trên) nếu gặp 1 cái không phải số thì in ra và kết thúc :D