Ich verwende beim Beenden eigentlich immer getch(); Mit getch() liest du immer genau nur ein Zeichen. Für getch() müsstest du allerdings noch conio.h includen.
Falls du die eingegebene Taste speichern willst musst du a=getch(); und nicht getch(a); schreiben.

mfg
Firzen