At this stage, I want the program to get a dollar amount from the user, convert it to cents, and then (just for now to confirm it's been done right). Based on what I understand about round(), this should be working. However, when I run it and input, say, 2.00, the output is not 200 but 0x1.49e0000000002p-895. What am I doing wrong?
%a in printf() is used to print a float as a hexidecimal. That is why you are getting the 0x1.49e000... number in the output. Use %i or %d for an integer.
And as was pointed out, you don't need to preceed the while(condition) with an if(condition) with both containing the same condition, as the while block is only entered if the condition is true anyway.