If you are using/porting to Linux, you may want to look at NCurses.

getchar() ? Eughh.. Please, this is a C++ forum!