[Rozdział 17] Funkcje - Problem z zadaniem 1.
Ostatnio zmodyfikowano 2015-02-23 19:27
bojo240 Temat założony przez niniejszego użytkownika |
[Rozdział 17] Funkcje - Problem z zadaniem 1. » 2015-02-20 13:37:00 Witam. Być może jest to spowodowane tym, że wstałem 2 godziny temu i chyba nie do końca się obudziłem. O ile z innymi zadaniami nie mam problemu, (tj przynajmniej na razie o ile chodzi o zrozumienie :D) to ni cholery nie jestem w stanie zrozumieć polecenia 1. Jego treść brzmi: Napisz funkcję, która będzie wczytywała liczby ze standardowego wejścia i zwracała wczytaną wartość. Funkcja ma zagwarantować, że zwracana liczba zawsze jest poprawna. Oznacza to, że funkcja będzie musiała pytać użytkownika o wprowadzenie liczby dopóki nie poda poprawnej. #include <iostream> int wczytajLiczbe() { }
int main() { std::cout << "Podaj liczbe: "; int liczba = wczytajLiczbe(); std::cout << "Podales liczbe: " << liczba << std::endl; return 0; }
W razie czego tutaj link do całego tematu : http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Funkcje-pierwsze-starcie/291 Nie rozumiem na jakiej podstawie program ma stwierdzać, czy podana liczba jest poprawna, nie jest to w końcu program, który by losował liczbę... Ma to być program który już zawiera liczbę podaną przeze mnie? Czy też użytkownik programu ma wpisać 2 razy tą samą liczbę, aby program zakończył swoje działanie..? |
|
wilkoo13 |
» 2015-02-20 15:10:01 czy liczba jest poprwana czyli ze nie jest literą itp |
|
bojo240 Temat założony przez niniejszego użytkownika |
» 2015-02-20 15:13:40 czyli użytkownik jest zobowiązany po prostu do podania liczby (jakiejkolwiek) aby zakonczyc petle/program (wiadomo ocb) i ma to być zrobione funkcja, jo? |
|
Brunon3 |
» 2015-02-20 15:39:27 Nie znam się na konsolach, ale mi się wydaje że do tego służy która zwraca true gdy wartość jest poprawna. ;) |
|
szneqz |
» 2015-02-21 19:08:24 Problem został omówiony trochę wcześniej w rozdziale 9 http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Obsluga-strumienia-wejsciowego/12 Nie należy jedynie sprawdzać czy liczba została wprowadzona poprawnie, ale także należy potem wyczyścić flagi błędu i bufor strumienia. std::cin.good(); std::cin.clear; std::cin.sync();
Oczywiście dobrze by było przypisać std::cin.good() do jakiejś zmiennej typu bool i wrzucić do pętli. |
|
bojo240 Temat założony przez niniejszego użytkownika |
» 2015-02-23 19:27:17 Dzięki waszej pomocy byłem w stanie się z tym uporać, dzięki wielkie! :D |
|
« 1 » |