Can we continue a proof by contradiction even if we get to a contradiction?
Differently from Mauro Allegranza and Graham Kemp, I think that your proof is formally correct, even if it is unnecessarily tricky, inelegant and non-efficient.
I formalized your argument in natural deduction (see below), so this proves that your proof is correct.
Let $\pi_0$ be the derivation of $\lnot c \to \lnot a$ from $\{a \to c\}$ (this correspond to the step 2 of your proof)
Let $\pi_1$ be the derivation of $\lnot b \land b$ from $\{b, a, a \to c, \lnot c\}$ (this correspond to the steps 1, 3-8 of your proof)
Then, the derivation of $\pi_2$ of $c$ from $\{a, b, a \to c\}$ corresponds to your whole proof.
PS: To reply to Graham Kemp: I don't think that "once you've obtained a contradiction the proof has ended", I mean the proof is not forced to be ended. If you has proved that $\neg c, \Sigma \vdash \bot$ you can apply RAA (reductio ad absurdum) and get
$$\dfrac{\neg c, \Sigma \vdash \bot}{\Sigma \vdash c}$$
but you can also apply EFQ (ex falso quodlibet) and get $$\dfrac{\neg c, \Sigma \vdash \bot}{\lnot c, \Sigma \vdash d}$$ for any formula $d$, or you can also apply $\lnot_I$ (introduction of negation) and get $$\dfrac{\neg c, \Sigma \vdash \bot}{\Sigma \vdash \lnot\lnot c}$$
Proof by contradiction aims at assuming something and then arriving at a contradiction. Once you arrive at a statement that is contradictory, you are thus done (I know you are not talking about the efficiency).
To answer your question, you could view your arguments as: Assume $\neg c$, arrive at some statement (line 5) of which you are not sure it is contradictory, and continue until you arrive at some statement (line 9) of which you are sure it is contradictory. So lines 6-9 could be seen as a prove why line 5 is contradictory, which itself is not flawed, but neither necessary. Hope that helps.
my teacher says even in the case of a proof by contradiction non of the steps should be a contradiction (except the last one when the proof ends ) !?
More precisely, once you've obtained a contradiction the proof has ended, because that's exactly what you were required to show. Nothing more is needed.
$$\dfrac{\neg c, \Sigma \vdash \bot}{\Sigma \vdash c}$$
As to whether you can proceed passed a contradiction; well, you may, but once you've shown a set of statements is inconsistent there's no point proceeding -- you have demonstrated the conclusion you were aiming for in that context so the sub-proof is complete.