Yeti Temat założony przez niniejszego użytkownika |
[Lekcja 17] Zadanie domowe 1 » 2012-02-13 12:59:01 Witam. Wyjaśni mi ktoś o co chodzi w tym zadaniu? Bo jest tak napisane, że tego nie zrozumiałem. 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; }
Nie chce żeby mi ktoś pisał kod tylko wyjaśnił o co się tutaj rozchodzi. :) |
|
SeaMonster131 |
» 2012-02-13 13:01:42 Tzn że wczytujesz liczbę. Jeżeli liczba jest poprawna to funkcja ją zwraca, jeżeli nie jest poprawna (np jest to litera), to wczytujesz tak długą tą liczbę, aż będzie poprawna (pętla, czyszczenie strumienia) :) |
|
Yeti Temat założony przez niniejszego użytkownika |
» 2012-02-13 14:12:45 Czyli to chodzi o to, że najpierw określam zmienna np 10, i jeśli ją wpisze to wyskakuje komunikat podałeś dobrą liczbę, a jak źle to wyskakuje zła liczba, spróbuj jeszcze raz. O to chodzi? |
|
SeaMonster131 |
» 2012-02-13 14:23:45 Nie, jeżeli [liczba] nie jest poprawna (np jest to litera) [...] |
. Masz wczytać po prostu liczbę, jakąkolwiek, tylko nie może to być jakiś znak, litera itd.. |
|
Yeti Temat założony przez niniejszego użytkownika |
» 2012-02-13 14:53:19 A jeszcze się spytam, czy można dopisywać coś do bloku pod int main czy tylko tam gdzie jest napisane, że trzeba wpisać kod? |
|
SeaMonster131 |
» 2012-02-13 15:09:32 Raczej możesz tylko zmodyfikować funkcję wczytajLiczbe(), czyli tam gdzie jest |
|
Yeti Temat założony przez niniejszego użytkownika |
» 2012-02-13 16:17:07 Dlaczego kiedy wpisze np. aaa to wyskakują mi cyferki? Program powinien chyba powtórzyć pętle. #include <iostream> using namespace std; int wczytajLiczbe() { int a; do { cin >> a; return a; } while( cin.good() == false ); }
int main() { cout << "Podaj liczbe: "; int liczba = wczytajLiczbe(); cout << "Podales liczbe: " << liczba << endl; return 0; }
|
|
SeaMonster131 |
» 2012-02-13 16:22:55 Nie, bo po wpisaniu liczby od razu ją zwracasz: I pamiętaj, żeby czyścić strumień :) |
|
« 1 » 2 |