bool bCzySukces = std::cin.good();
Zawsze ci wychodzi w wyniku 1, ponieważ powyższa zmienna zawsze przechowuje wartość prawdziwą. W sumie to nie za bardzo wiem po co ci 4 ostatnie linijki skoro po wpisaniu cyfry/litery od razu wiesz czy wprowadzona dana jest poprawna czy błędna.