getche の返す値は文字コードだから、
'0' を引かないとダメやね。
というか、scanf でも使う問題ではないのか?