@ Quantrizi:
>>Hunter: Thanks. Polar coordinates use (radius, theta) though.
Isn't that what I said?
Well, first of all, your checking if x != 0 (the if(x < 0 || x > 0) statement) comes after the 'y / x' operation is done... so if x == 0, then you'll already have a division by zero error anyways.
I'm not totally sure what you're doing with the angle checking, because atan() will only ever return from -90 to +90. Your checks for theta > 90 etc. will never get run. Actually, I don't think there's any way to get the angle in the proper quadrant without looking at the original x and y coordinates (i.e. as in my post, or Thantos' post, or Micko's).
@ Micko:
You should consider revising your method. The deeply nested if's and else's make the code hard to read (and unintuitive), especially without the opening/closing braces to mark where each if/else begins and ends.