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

Funkcje - pierwsze starcie - zadanie nr. 2

Ostatnio zmodyfikowano 2015-06-01 13:13
Autor Wiadomość
Hikamare
Temat założony przez niniejszego użytkownika
Funkcje - pierwsze starcie - zadanie nr. 2
» 2015-05-29 14:33:45
Mam problem, wydaje mi się, ze zrozumieniem, drugiego zadania z lekcji o funkcjach.

Zmodyfikuj kalkulator, który pisałeś w jednym ze wcześniejszych rozdziałów tak, aby korzystał on ze wcześniej napisanej funkcji wczytajLiczbe. - czy chodzi o to, żeby funkcja ta sprawdzała dwie liczby, które wprowadzam? Bo jeżeli tak, to w jaki sposób mogę to osiągnąć? Próbowałem już kilku sposobów - przypisania dwóch argumentów, zwracania wartości przez
return a + b;
 ale niestety nic nie działa. Wstawiam tutaj kod funkcji:

C/C++
int wczytajLiczbe( int a, int b )
{ bool pop = 0;
    bool pop2 = 0;
    do {
        cout << "Wprowadz pierwsza liczbe: ";
        cin >> a;
        if( cin.good() )
        {
            pop = 1;
            cin.clear();
            cin.sync();
        }
        else
        { cout << "Miala byc liczba!";
            cin.clear();
            cin.sync();
            pop = 0;
        }
    } while( pop == 0 );
   
    do {
        cout << "Wprowadz druga liczbe: ";
        cin >> b;
        if( cin.good() )
        {
            pop2 = 1;
            cin.clear();
            cin.sync();
        }
        else
        { cout << "Miala byc liczba!";
            cin.clear();
            cin.sync();
            pop2 = 0;
        }
    } while( pop2 == 0 );
   
   
    return a, b;
   
}

Funkcję następnie wywołuję
C/C++
int main() {
    int wynik = 0;
    bool praca = 0;
    do {
        cout << "Poprzedni wynik to: " << wynik << endl;
        wczytajLiczbe( a, b );
        cout << a << " " << b;

ale za a i b otrzymuję 0. Z drugiej strony, kiedy za argument przyjmę tylko a, to jest zwracana poprawna wartość.
P-132926
JMII89
» 2015-05-29 16:25:50
Nie można zwracać dwóch liczb. Zrób dwie funkcje.
P-132928
pekfos
» 2015-05-29 16:45:22
aby korzystał on ze wcześniej napisanej funkcji wczytajLiczbe.
I jak wyglądała wtedy ta funkcja..? Miałeś jej nie zmieniać.
P-132930
Hikamare
Temat założony przez niniejszego użytkownika
» 2015-05-29 17:19:12
Czyli jednak dwie ;) Pomyślałem o tym, ale bałem się, że to droga dookoła.
Ok, dzięki za pomoc :)
P-132932
BadBullPL
» 2015-05-29 17:21:36
Wcale nie trzeba dwóch funkcji
P-132933
Hikamare
Temat założony przez niniejszego użytkownika
» 2015-05-29 18:20:20
To jak to inaczej rozwiązać? Bo zwykłe pojedyncze zdanie nie pomaga.
P-132935
Piastlis
» 2015-05-29 18:50:43
Funkcja zwraca "coś". I to "coś" jest w jednym egzemplarzu....I to jest ogólna zasada.Ale to "coś" może składać się z kilku elementów.
P-132936
pekfos
» 2015-05-29 20:34:00
Dwie identyczne funkcje..? Po to są funkcje, by pisać coś raz i używać wielokrotnie.
P-132943
« 1 » 2
  Strona 1 z 2 Następna strona