Funkcje - pierwsze starcie - zadanie nr. 2
Ostatnio zmodyfikowano 2015-06-01 13:13
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: 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ę 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ść. |
|
JMII89 |
» 2015-05-29 16:25:50 Nie można zwracać dwóch liczb. Zrób dwie funkcje. |
|
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ć. |
|
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 :) |
|
BadBullPL |
» 2015-05-29 17:21:36 Wcale nie trzeba dwóch funkcji |
|
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. |
|
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. |
|
pekfos |
» 2015-05-29 20:34:00 Dwie identyczne funkcje..? Po to są funkcje, by pisać coś raz i używać wielokrotnie. |
|
« 1 » 2 |