Prosty kalkulator z wykorzystaniem funkcji, proszę o pomoc
Ostatnio zmodyfikowano 2016-06-20 17:43
Maciekb Temat założony przez niniejszego użytkownika |
Prosty kalkulator z wykorzystaniem funkcji, proszę o pomoc » 2016-06-19 20:27:33 #include<iostream> using namespace std; int wczyta() { int a; cout << "Podaj liczbe a:"; cin >> a; return a; } int wczytb() { int b; cout << "Podaj liczbe b:"; cin >> b; return b; }
int dodawanie( int a, int b ) { return a + b; }
int main() { wczyta(); wczytb(); dodawanie( wczyta(), wczytb() ); cout << "a+b=" << dodawanie(); }
W tym kodzie kompilator wypluwa mi błąd o następującej treści: C:\Users\Maciek\Desktop\Funkcje 4.cpp||In function 'int main()':| C:\Users\Maciek\Desktop\Funkcje 4.cpp|19|error: too few arguments to function 'int dodawanie(int, int)'| C:\Users\Maciek\Desktop\Funkcje 4.cpp|33|error: at this point in file| ||=== Build finished: 2 errors, 0 warnings ===| Dlaczego tak się dzieje co zmaściłem? |
|
Gibas11 |
» 2016-06-19 20:29:38 int wynik = dodawanie( wczyta(), wczytb() ); cout << "a+b=" << wynik;
Wstawiaj kod w znaczniki. [cpp]...[/cpp] EDIT: Ew. tak: cout << "a+b=" << dodawanie( wczyta(), wczytb() );
|
|
Maciekb Temat założony przez niniejszego użytkownika |
» 2016-06-19 20:35:23 #include<iostream> using namespace std; int wczyta()
{ int a; cout << "Podaj liczbe a:"; cin >> a; return a; } int wczytb() { int b; cout << "Podaj liczbe b:"; cin >> b; return b; }
int dodawanie( int a, int b ) { return a + b; }
int main() { wczyta(); wczytb(); cout << "a+b=" << dodawanie( wczyta(), wczytb() );; }
Zadziałało ale teraz program karze wpisywać a i b dwa razy, dlaczego tak się stało? |
|
carlosmay |
» 2016-06-19 20:50:40 wczyta(); wczytb();
cout << "a+b=" << dodawanie( wczyta(), wczytb() );
|
|
Gibas11 |
» 2016-06-19 21:04:39 Żeby rozwiać wątpliwości - pamiętaj że kod z funkcji jest wykonywany przy każdym wywołaniu. |
|
Maciekb Temat założony przez niniejszego użytkownika |
» 2016-06-20 15:03:00 Wielkie dzięki za wytłumaczenie, działa :) |
|
Maciekb Temat założony przez niniejszego użytkownika |
» 2016-06-20 15:11:23 #include<iostream> using namespace std; int wczyta() { int a; cout << "Podaj liczbe a:"; cin >> a; return a; } int wczytb() { int b; cout << "Podaj liczbe b:"; cin >> b; return b; }
int dodawanie( int a, int b ) { return a + b; }
int main() { cout << "a+b=" << dodawanie( wczytb(), wczyta() ); }
Jeszcze jedno: zamieniłem kolejność i nic to nie zmieniło cout << "a+b=" << dodawanie( wczytb(), wczyta() ); od czego zależy kolejność wykonywania funkcji? |
|
lukmas3 |
» 2016-06-20 15:20:40 cout << "a+b=" << dodawanie( wczytb(), wczyta() );
W tym kodzie masz najpierw wywołane wczytb() a potem wczyta(). Nie widzisz róznicy mnoże przez cout << a+b. Daj sobie cout << b+a;
jeśli chodzi o sam wynik to wyniku kolejność wywolania tych funkcji i tak nie zmieni. |
|
« 1 » 2 |