[lekcja] Rozdział 17. Co to są funkcje i jak się z nich korzysta. Pierwsze zadanie.
Ostatnio zmodyfikowano 2017-01-03 19:47
int_main Temat założony przez niniejszego użytkownika |
[lekcja] Rozdział 17. Co to są funkcje i jak się z nich korzysta. Pierwsze zadanie. » 2017-01-02 07:53:23 Czy może mi ktoś napisać tu jak zrobić to pierwsze zadanie, bym mógł przeanalizować kod? Nie mogę wykombinować jak zrobić blokadę na niewłaściwe dane wprowadzane przez użytkownika.
http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Funkcje-pierwsze-starcie/291 |
|
carlosmay |
» 2017-01-02 15:30:04 int wczytaj_liczbe() { int liczba; while( !( std::cin >> liczba ) ) { std::cin.clear(); std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' ); return liczba; } } edit: @down - dzięki pekfos. |
|
pekfos |
» 2017-01-02 17:07:25 Ta funkcja jest błędna. |
|
carlosmay |
» 2017-01-02 19:00:46 Poprawiony: int wczytaj_liczbe() { int liczba; while( !( std::cin >> liczba ) ) { std::cin.clear(); std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' ); } return liczba; } |
|
int_main Temat założony przez niniejszego użytkownika |
» 2017-01-03 19:25:11 Dzięki panowie. :) Tylko czy mógłby mi ktoś jeszcze wytłumaczyć co znaczy ta linijka w std::cin.ignore -> std::numeric_limits < std::streamsize >::max(), '\n'? @EDIT: Uznałem, że skoro nie miałem tego jeszcze to wywalę to w nawiasie. Dodałem przed tym cin.clear i cin.ignore ponowienie komunikatu z prośbą o wpisanie liczby, przez co on się powtarza kilka razy. Dlaczego tak się dzieje? #include <iostream> int wczytajLiczbe()
{ int liczba; while( !( std::cin >> liczba ) ) { std::cout << "Podaj LICZBE: "; std::cin.clear(); std::cin.ignore(); } return liczba; }
int main() { std::cout << "Podaj liczbe: "; int liczba = wczytajLiczbe(); std::cout << "Podales liczbe: " << liczba << std::endl; return 0; }
|
|
carlosmay |
» 2017-01-03 19:47:16 |
|
« 1 » |