Your while statement is in error
while (wage = 0) assigns 0 to wage.
What you want is to compare wage to 0, ie.:
while (wage == 0).
However, comparing double's to some value is very bad practice due to rounding errors. Much safer is to always have a < or > in there:
while (wage < 0.0001)
If you confuse assignment (=) and comparison (==) often, and you don't have a compiler to warn you for this, you can adopt the coding style to put the constant first:
while(0 == x)