Prove that if $z+\frac1z$ is real, then either $|z|=1$ or $z$ is real. 
Prove that if $z+\frac1z$ is real, then either $|z|=1$ or $z$ is real. 

Original image
I am not sure whether my proof is sufficient. So far, I have shown that 
$$z+\frac1z = \frac{z^2+1}{z}=\frac{|z|+1}{z}$$
However, I don't think the proof enough, and also I seemed to have proven that they both have to be real and not either... Please advise.
Note: I realised that my proof is wrong, as it was kindly mentioned that $z^2$ doesn't equal $|z|$. I remembered wrongly, it should be $zz*=|z|$ with $z*$ being a conjugate of $z$. 
 A: As already mentioned in the comments, there are some errors in
your calculation ($z^2 \ne |z|$, and $|z|$ is always a real number).
You can get the desired result by exanding $1/z$ with the 
complex conjugate to make the denominator real:
$$
 \text{Im} \left( z + \frac 1z \right) = 
 \text{Im} \left( z + \frac {\overline z}{z \overline z} \right) = 
 \text{Im} \, z - \frac{\text{Im} \, z}{|z|^2}  =
 \text{Im} \, z  \cdot \left( 1 - \frac{1}{|z|^2} \right)
$$
is zero if and only if $$\text{Im} \, z = 0 \text{ or } |z| = 1 \, .$$
Therefore
$$
z + \frac 1z \in \Bbb R \Longleftrightarrow z \in \Bbb R \text{ or } |z| = 1 \, .
$$
A: If $z+\dfrac1z$ is real $\iff z+\dfrac1z=\overline{z+\dfrac1z}=\bar z+\dfrac1{\bar z}$
$$\iff (z-\bar z)\left(z\bar z-1\right)=0$$
Now  if $z-\bar z=0,z$ is real
Else use $z\bar z=|z|^2$
A: By direct evaluation, 
$$\Im\left(a+bi+\frac{a-bi}{a^2+b^2}\right)=b-\frac b{a^2+b^2}=0.$$
Then $b=0$ or $a^2+b^2=1$.
A: Another way:
\begin{align}
z+\frac{1}{z}&=\rho(\cos\theta+i\sin\theta)+\frac{1}{\rho}(\cos\theta-i\sin\theta)\\
&\left(\rho+\frac{1}{\rho}\right)\cos\theta+i\left(\rho-\frac{1}{\rho}\right)\sin\theta
\end{align}
And
$$
\left(\rho-\frac{1}{\rho}\right)\sin\theta=0\implies \rho=1 \text{ or } \theta=0 \text{ or } \theta=\pi
$$
