Fixing a C++ Program Error: Negative Square Root

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 3K views
metalmaniac
Messages
4
Reaction score
0
hi there,

i have written a small program in C++ and if the user puts in the wrong values for some of the variables the operation will end up trying to square root a negative number and this returns that the answer is not a number

can anyone show me how to write an if function that if
Code:
double answerplus
or
Code:
double answerminus
are not numbers it will display an error message


thanks
 
Physics news on Phys.org
c++ is a strongly typed language, so if you input a double, it is only going to assign a floating point value to the input variable.

According to the C++ reference library:

If the argument is negative, a domain error occurs, setting the global variable errno to the value EDOM.

http://www.cplusplus.com/reference/clibrary/cmath/sqrt/

So you check that value after processing each square root in your function to ensure that the sqrt() function returned a number, either that or you could check the value before invoking the sqrt() function.
 
Last edited by a moderator: