nawet gdy wpiszę cyfrę.
Ciąg znaków to nie tylko litery.
czemu cin.good zwraca ciągle 1 nawet gdy wpiszę cyfrę
Zwraca 1, bo wejście zostało poprawnie wczytane. Wszystko jest ok!
Po dołączeniu plików źródłowych do programu dodaj sobie taki bajer:
using namespace std;
Nie będzie trzeba używać w kółko przestrzeni nazw std::. ;)