30/09/2018, 22:58

Phân biệt số tự nhiên với số thập phân

Mình đang muốn làm code do … while không cho nhập số thập phân chỉ nhập số nguyên thì làm ntn? M tìm thuật toán mà ko thấy @@!

Lưu Thành Vương viết 01:04 ngày 01/10/2018

Nhập vào một biến float r so sánh biến float đó với ép kiểu int của nó.
VD

float a;
cin>>a; //Gỉa sử a được nhập vào là 5.6
if(a>(int)a){
   cout<<"Moi nhap so nguyen";
   //Cho lặp lại 
}

nếu thỏa thì gán float bằng một biến kiểu int.

nohat viết 01:10 ngày 01/10/2018

Ở 1 mức độ nào đó, để không phức tạp hoá chương trình đến mức chưa cần thiết, nên tin tưởng vào người dùng. Nếu bạn khai báo biến nguyên và cin cái người dùng nhập vào thì nó chỉ nhận đến giá trị nguyên thôi. Mình nói ko nên phức tạp hoá vấn đề ở đây nghĩa là, nếu người dùng ko nhập vào số, mà nhập vào chữ thì sao? Lại phải giải quyết thêm 1 vấn đề khá phức tạp nữa. Do ko biết bài toán cụ thể của bạn ở đây là gì nên tạm thời mình nghĩ là nên dừng lại ở mức độ tin tưởng người dùng

NamMinh viết 01:02 ngày 01/10/2018

Đúng là với bất cứ số nào nhập số nào vào nó vẫn trả về giá trị nguyên

Bài liên quan
0