Hej. Od dłuższej chwili głowię się nad pewnym problemem. Robię właśnie program-ankiete, w której pytamy o różne rzeczy np. imie, nazwisko, wiek itp. I gdy przychodzi do wpisania jakiejś wartości do zmiennej wiek, oczywiście mogę zrobić po prostu cin >> wiek, ale chce ten program jakoś urozmaicić i "zabezpieczyć", więc wpadłem na pomysł, aby program sprawdzał czy wprowadzona wartość do zmiennej (int) wiek jest po poprawna, czyli czy jest liczbą, a nie literą. I moje pytanie jak to osiągnąć.
W pewnym odcinku pana Zelenta(odcinek 6 kursu C++, operacja switch) znalazłem coś takiego:
if (!(cin >> nr_miesiaca))
{
cerr<<"To nie jest liczba!";
exit(0);
}
(w razie gdy ktoś w switchu zamiast cyfry wpisze litere, to program wyświetla komunikat i sie zamyka)
Gdy ja tak zrobiłem i zamiast exit(0) dopisałem kolejne linie kodu program się zapętla i komunikat "To nie jest liczba" wyświetla się nonstop. Moje pytanie jest następujące, jak poprawnie napisać taką funkcję, która sprawdza czy wprowadzona wartość jest cyfrą, a w razie, gdy jest literą, to prosi o ponowne wpisanie wieku?