Zadanie 1 Rozdzial 17
Ostatnio zmodyfikowano 2016-07-27 17:04
RockerFeller Temat założony przez niniejszego użytkownika |
» 2016-07-27 15:45:19 Mi dzialalo wszystko bez tego numeric limits i calej reszty.
---------
Ale w innym programie. A tutaj dalej pustka. |
|
carlosmay |
» 2016-07-27 16:20:54 metoda bez argumentów ignoruje tylko jeden znak. Skompiluj to i sprawdź czy działa poprawnie: #include <iostream> #include <limits> using namespace std;
int getNumber() { int number; while( !( cin >> number ) ) { cin.clear(); cin.ignore( numeric_limits < streamsize >::max(), '\n' ); cout << "podaj ponownie: "; } return number; }
int main() { cout << "Wczytano; " << getNumber() << '\n'; }
Gdzie to kompilujesz? |
|
RockerFeller Temat założony przez niniejszego użytkownika |
» 2016-07-27 16:28:48 Wolalbym uzywac rzegczy ktore byly opisane przed lekcja 17 a tego nie bylo.
Uzywam aplikacji C++ Compiler IDE bo ja na telefonie pisze. |
|
carlosmay |
» 2016-07-27 16:45:19 Wolalbym uzywac rzegczy ktore byly opisane przed lekcja 17 a tego nie bylo. |
Z "tych rzeczy" jest pętla while i funkcje, których używasz. Jeśli chodzi o pętlę, różni się od do { } while(); momentem sprawdzania warunku (czyli przed uruchomieniem pętli). Uzywam aplikacji C++ Compiler IDE |
Nie znam, ale nie ma powalających opinii. |
|
RockerFeller Temat założony przez niniejszego użytkownika |
» 2016-07-27 17:04:19 Uzylem petli while tej teojej biblioteki limits i zadzialalo. #include <iostream> #include <limits> using namespace std;
int wczytajLiczbe() { int cyferka; bool niechProbuje = true; while( niechProbuje ) { cin >> cyferka; if( !cin.good() ) { cin.clear(); cin.ignore( numeric_limits < streamsize >::max(), '\n' ); cout << "Nie podano liczby.\nProsze ponownie o podanie liczby.\n"; } else { niechProbuje = false; } } if( cin.good() ) { return cyferka; } }
int main() { cout << "Podaj liczbe: "; int liczba = wczytajLiczbe(); cout << "Podales liczbe: " << liczba << std::endl; return 0; } Dzieki za pomoc :) |
|
1 « 2 » |