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?
Jak ustalić przedział wczytywanej liczby?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Szczecin
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ę.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
0
A można inaczej za pomocą może setw, albo jakoś bo mam do dyspozycji tylko te funkcje które "omawialiśmy".
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Szczecin
0
setw chyba tylko dla stringów działa.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1340
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' );
}
- Rejestracja: dni
- Ostatnio: dni
0
A omawialiście pętlę while?
While (liczba > 99999)
W pętli info ze za dużo i kolejne wczytanie