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?
0
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' );
}
0
A omawialiście pętlę while?
While (liczba > 99999)
W pętli info ze za dużo i kolejne wczytanie