For (a), I've found the eigenvalues to be 1 and 2.
For (b), I've found the value a to be 1. So I carried on with the steps to find the invertible matrix $ P $ such as the basis for each eigenspace. For eigenvalue 1, I've found that the eigenspace is $ \text{span} \{(-1,0,1)^T, (0,1,0)^T) \} $ and for eigenvalue 2, I've found that the eigenspace is $ \text{span} \{(1,1,0)^T \} $.
Having this, my matrix $ P $ would have to be \begin{pmatrix}1 & -1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & 0\end{pmatrix} However, this seemed to be wrong as the bases I've found for the eigenspaces would give me a diagonal matrix of \begin{pmatrix}2 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1\end{pmatrix} which does not make sense given my eigenvalues are 2 and 1, not 2, 1 and 0.
Where did I go wrong?

Your matrices $P$ and $C$ are all correct. You have probably made a computational mistake.
See Octave output here (https://octave-online.net/):
$P^{-1}$ should be: