I have this program. I'm supposed to calculate change with appropriate coins. I've been over this a bunch and my math and loops seems to be in order. It's just not coming out right. I output the change value to the screen throughout the loops and at some point it gets all wonky. I can't understand why. Can somebody point me in the direction as to why? Thanks.

You do realise you NEVER use floating-point arithmetic for money in real life? You can get some nasty errors when you get values like 1.999999999999999999999999 instead of 2.0.

Were you told you use loops to calculate the change? I would have used the % and / operators, which of course work better using integer arithmetic. Your while(change - 1 >= 0) is an awkward formula.