Funkcja/procedura

0

Witajcie. Zacząłem przygodę z programowaniem. Chcę zrobić dwie funkcję, które będą obliczać pewne działanie. A następnie zsumować te dwie funkcje. Zrobiłem coś takiego:

#include <cstdlib>
#include <iostream>

using namespace std;

void f1(int x, int y, int z)
{
     int wynik=x*x+y*y*y+z*z*z*z;
     cout << "Wynik operacji pierwszej funkcji: " << wynik << endl;
}

void f2(int x, int y, int z)
{
     int wynik=x*y*y+z*x*x+y*y*y*z*z*z*x*x*x;
     cout << "Wynik operacji drugiej funkcji: " << wynik << endl;
}

int main(int argc, char *argv[])
{
    int x,y,z;
    cout << "Podaj x= ";
    cin >> x;
    cout << "Podaj y= ";
    cin >> y;
    cout << "Podaj z= ";
    cin >> z;
    f1(x,y,z);
    f2(x,y,z);
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Okey, wyświetla wyniki. Teraz tylko jak wynik z f1 dodać do wyniku z f2 i wyświetlić?

0
cout << f1(x,y,z) + f2(x,y,z) << endl;
1
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int f1(int x, int y, int z)
{
     return x*x+y*y*y+z*z*z*z;
}
 
int f2(int x, int y, int z)
{
     return x*y*y+z*x*x+y*y*y*z*z*z*x*x*x;
}
 
int main(int argc, char *argv[])
{
    int x,y,z;
    cout << "Podaj x= ";
    cin >> x;
    cout << "Podaj y= ";
    cin >> y;
    cout << "Podaj z= ";
    cin >> z;
    int f1wynik=f1(x,y,z);
    int f2wynik=f2(x,y,z);
    cout << "Wynik operacji pierwszej funkcji: " << f1wynik << endl;
    cout << "Wynik operacji drugiej funkcji: " << f2wynik << endl;
    cout << "Razem: "<<(f1wynik+f2wynik)<<endl;
    cin.sync(); cin.get();
    return 0;
}
0

Dzięki _13th_Dragon. A mógłbyś mi wytłumaczyć czym różni się procedura od funkcji. Funkcja zwraca wynik przez return, ale co oznacza 'zwrócić wynik' ?

0

Mocno upraszczając, oznacza to że możesz użyć funkcji wewnątrz wyrażenia,
np: w=f1(x,y,z)+f2(x,y,z);
lub: cout<<arcsin(sqrt(sin(M_PI))<<endl;
I właśnie tym się różni od procedury.

1 użytkowników online, w tym zalogowanych: 0, gości: 1