MasterWind
T.E.T.Я.I.S
- 12/4/06
- 637
- 0
Mình mới bắt đầu học C++. Mình chỉ muốn hỏi là làm sao để có thể dùng lện cin>> vào 1 variable thuộc typedef float mà có thể giới hạn số nhập vào chỉ có 2 chữ số thập phân.
Ví dụ: Input như thế này là hợp lệ: 2.31 ; 2.3 ; 2. ; 2
còn input như thế này là không hợp lệ 2.3423423 . Chương trình sẽ dùng loop để kiểm tra input và sẽ hỏi nhập số cho đến khi nào input thỏa mãn điều kiện là 1 số có 2 chữ số thập phân hoặc ít hơn.
Mình đã nghĩ ra 1 cách nhưng không khả thi khi input là 2.310 (nếu tính ra thì giá trị vẫn là 2.31)
mình chỉ muốn hỏi là còn cách nào hay hơn không.
Ví dụ: Input như thế này là hợp lệ: 2.31 ; 2.3 ; 2. ; 2
còn input như thế này là không hợp lệ 2.3423423 . Chương trình sẽ dùng loop để kiểm tra input và sẽ hỏi nhập số cho đến khi nào input thỏa mãn điều kiện là 1 số có 2 chữ số thập phân hoặc ít hơn.
Mình đã nghĩ ra 1 cách nhưng không khả thi khi input là 2.310 (nếu tính ra thì giá trị vẫn là 2.31)
Mã:
#include <iostream>
using namespace std;
void main()
{
float num;
cout<<"Please input a real number!"; //Nhập 1 số nguyên
cin>>num;
while(int(num*1000)%10 != 0)
{
cout<<"\nInvalid input. Try again: ";
//Nhập số không đúng yêu cầu, nhập lại
cin>>num;
}
}
mình chỉ muốn hỏi là còn cách nào hay hơn không.
Chỉnh sửa cuối: