Jeżeli chcesz by program nie zatrzymywał się czekając na znak musisz użyć "wątków".
Najpierw musisz poczytać o wątkach ogólnie(jak działa procesor i system) a następnie nauczyć się ich używać - threads.
Biblioteka SFML 2.0 umożliwa fajną zabawę wątkami(sf::Threads), C++ 11 ma wątki w standardzie(visual 2013/2015), lub WinApi w zwykłym kodzie.
Robisz funkcje w której jest pętla while która posiada ten twój kod który pobiera znaki. Funkcje załączasz do wątku a wątek odpalasz w programie w części w której użytkownik ma podawać te znaki a niszczysz go w części w której już jest to nie potrzebne.
Mam nadzieje, że pomogłem.