Funkcja/procedura

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
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:

Kopiuj
#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ć?

dampe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: SK
0
Kopiuj
cout << f1(x,y,z) + f2(x,y,z) << endl;
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
#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;
}
MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
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' ?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.