Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 17] Zadanie domowe 1

Ostatnio zmodyfikowano 2012-02-21 02:41
Autor Wiadomość
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.

C/C++
#include <iostream>
int wczytajLiczbe()
{
    //TODO: tu Twój kod
}

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. :)
P-50646
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) :)
P-50647
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?
P-50653
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..
P-50655
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?
P-50662
SeaMonster131
» 2012-02-13 15:09:32
Raczej możesz tylko zmodyfikować funkcję wczytajLiczbe(), czyli tam gdzie jest
C/C++
//TODO: tu Twój kod
P-50665
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.
C/C++
#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;
}
P-50682
SeaMonster131
» 2012-02-13 16:22:55
Nie, bo po wpisaniu liczby od razu ją zwracasz:
C/C++
cin >> a;
return a;
I pamiętaj, żeby czyścić strumień :)
P-50683
« 1 » 2
  Strona 1 z 2 Następna strona