Well, I was saved from that experience by one line of code (that I got from your post, post #15):
I doubt that; enter a value like 'abc' and see which frequency you get; I think it will be 0.00. With strtod(), you can at least check if it's a valid float value by checking the endpointer.
Next not every frequency is valid for your radio. Let's say your radio is an FM radio; valid FM frequencies range from 88MHz to 108MHz (if I'm not mistaken). So you should basically check if the user entered a value between those two. Your radio might also be able to do SW, MW and LW. Different frequency ranges and you need to validate that the values are within that range.