Error Trapping

arholub's Avatar, Join Date: Jul 2012
Newbie Member
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)
0
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
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");
0
arholub's Avatar, Join Date: Jul 2012
Newbie Member
Thank you...good start...

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

Now working....

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