program się wiesza po wpisaniu litery ( znaku )

0

Witam, mam pytanie odnośnie prostego programiku (właśnie startuje w C++ więc proszę o wyrozumiałość ;); mam przykładowy kod:

bbb:
cout << "Podaj wymiar 1: ";
cin >> a;
if(a >=0 )
{
ccc:
cout << "Podaj wymiar 2: ";
}
else
{cout << "Wymiar niepoprawny !! podaj wymiar 1 jeszcze raz...";
cout << endl;
Sleep(1000);
goto bbb;
}

zmienna "a" jest załóżmy typu "int" lub "double", chodzi mi oto by po wpisaniu jakiejś liczy lub cyfry program idzie dalej , przy wpisaniu liczby minusowej program prosi o ponowne wpisanie wymiaru. Wszystko było by dobrze ale po wpisaniu jakiejkolwiek litery program nie wyrzuca "Wymiar niepoprawny !! podaj wymiar 1 jeszcze raz..." ale jakieś dziwne znaki (zwiesza się ) co muszę zmodyfikować lub dodać do kodu by po wpisaniu nie liczby czy cyfry lecz np litery program zwróci : "Wymiar niepoprawny !! podaj wymiar 1 jeszcze raz...". Pozdrawiam

0

Poczytaj o cin.good.

0

if(cin>>a) { /wczytano/ } else { cin.clear(); cin.sync(); cout<<"Blond ?"<<endl; }

1 użytkowników online, w tym zalogowanych: 0, gości: 1