Error Trapping

Newbie Member
28Jul2012,02:12   #1
arholub's Avatar
Windows 7, Visual Studio 2010, C++

int main()
{
float x,y;
do{
cout<<endl;
cout<<"Please enter a number greater than 3 and less than 9 ";cin>>x;
if(x<3 || x>9)
cout<<"ERROR"<<endl;
}while(x<3 || x>9);

more code for y....

***********************
Above code works fine for float x ; Want to trap error if x is ALPHA.
How???? (I haven't coded in a while)
Mentor
29Jul2012,13:35   #2
xpi0t0s's Avatar
You would have to read the input into a string variable, then check if it's a valid number with a function like atoi(), and if not, throw a suitable error.
Code:
char buf[32];
fgets(buf,30,stdin); // order of params might be wrong
int num=atoi(buf);
if (num<3 || num>9) printf("Wrong\n");
Newbie Member
30Jul2012,06:19   #3
arholub's Avatar
Thank you...good start...

need: float num=ATOF(buf);.....

Now working....

Really like this forum...Thanks again...