Jak ustalić przedział wczytywanej liczby?

0

Chcę z klawiatury wpisać jakąś liczbe. Ale też chce aby program pozwalał wprowadzić maksymalnie np.5 cyfrową liczbe a w innym wypadku powiadamiał o tym że maksymalnie 5 cyfrową można wpisac. Oraz żeby pozwalał wpisać jeszcze raz. Czy da się to zrobic z użyciem setw() lub podobnej funkcji?

1

Wczytaj i sprawdź, czy znajduje się w danym przedziale za pomocą operatorów > i <. Jeśli chcesz zabezpieczyć się przed wczytaniem liczby spoza zakresu wartości Twojej zmiennej (np. int), to wczytaj ją jako stringa, a dopiero potem parsuj jako liczbę.

0

A można inaczej za pomocą może setw, albo jakoś bo mam do dyspozycji tylko te funkcje które "omawialiśmy".

0

setw chyba tylko dla stringów działa.

0

Ciężko cokolwiek zasugerować, bo nikt tutaj oprócz Ciebie nie wie jakie funkcje omawialiście.
Najprościej to zrobić przy użyciu while.

while( !( std::cin >> value ) || value > 99999 ) {
  std::cin.clear();
  std::cin.ignore( std::numeric_limits< std::streamsize >::max(), '\n' );
}

Link

0

A omawialiście pętlę while?

While (liczba > 99999) 

W pętli info ze za dużo i kolejne wczytanie

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