You are on page 1of 3

FUNKCIJE

U prezentaciji Osnovi programiranja.ppt pažljivo pročitati slajdove od 114. do 117. Obavezno prekucati u
razvojnom okruženje za C/C++ primjere koji se tamo nalaze i shvatiti šta oni radi.

Primjer 1: Napisati funkciju u programskom jeziku C koja ispisuje pozdrav.

#include <stdio.h>

void pozdrav (); // Prototip funkcije

main () {

pozdrav (); // Pozivanje funkcije

void pozdrav () { // Definicija funkcije

printf ("Zdravo!\n");

Riječ void u definiciji funkcije znači da ta funkcija ne vraća nikakav podatak. Takve funkcije nešto
odrade, ali ne vraćaju nikakav podatak. Kao u ovom slučaju. Funkcija ispiše poruku i to je to. Nije nam
nikakav podatak vratila sa kojim možemo nešto raditi.

Naziv funkcije je pozdrav. Naziv funkcije vi dajete.

Zagrade () služe da se podaci koje mi želimo proslijede funkciji. U ovom slučaju su prazne tako da nema
podataka koje prosleđujemo funkciji. Zato je i poziv funkcije pozdrav (); Nema ništa između
zagrada.

Zagrade {} predstavljaju početak i kraj tijela funkcije.

I, na kraju, u ovom slučaju printf ("Zdravo!\n"); je tijelo funkcije. U tijelu funkcije se nalazi sve
ono što ta funkcija radi. U ovom slučaju ispisuje poruku Zdravo.

Primjer 2: Napisati funkciju u programskom jeziku C koja ispisuje pročitani broj tipa int sa tastature.

#include <stdio.h>

void ispisiBroj (int broj); // Prototip funkcije

main () {

int a;
printf ("Unesi broj: ");
scanf ("%d", &a);

ispisiBroj (a); // Pozivanje funkcije


}

void ispisiBroj (int broj) { // Definicija funkcije

printf ("Broj je: %d\n", broj);

Riječ void u definiciji funkcije znači da ta funkcija ne vraća nikakav podatak. Takve funkcije nešto
odrade, ali ne vraćaju nikakav podatak. Kao u ovom slučaju. Funkcija ispiše poruku i to je to. Nije nam
nikakav podatak vratila sa kojim možemo nešto raditi.

Naziv funkcije je ispisiBroj. Naziv funkcije vi dajete.

Zagrade () služe da se podaci koje mi želimo proslijede funkciji. U ovom slučaju nisu prazne kao u
prethodnom primjeru. U ovom primjeru smo definisali parametar int broj. Tip parametra je int, a
naziv parametra broj. Znači, da mi možemo proslijediti podatak tipa int. Ne možemo proslijediti neki
drugi tip podatka. Zato je i poziv funkcije ispisiBroj (a); Mi smo prilikom poziva funkcije proslijedili
podatak a. Podatak a je tipa int. Ovaj podatak a koji smo proslijedili funkciji se kopira u parametar
broj i onda u funkciji mi koristimo broj, a ne a.

Zagrade {} predstavljaju početak i kraj tijela funkcije.

I, na kraju, u ovom slučaju printf ("Broj je: %d\n", broj); je tijelo funkcije. U tijelu funkcije
se nalazi sve ono što ta funkcija radi. U ovom slučaju ispisuje broj koji smo proslijedili funkciji.

Primjer 3: Napisati funkciju u programskom jeziku C koja ispisuje zbir dva cijela broja pročitana sa
tastature.

#include <stdio.h>

void zbir (int broj1, int broj2); // Prototip funkcije

main () {

int a, b;
printf ("Unesi brojeve: ");
scanf ("%d %d", &a, &b);

zbir (a, b); // Pozivanje funkcije

void zbir (int broj1, int broj2) { // Definicija funkcije


int zbir = broj1 + broj2;
printf ("Zbir dva broja je: %d\n", zbir);

}
Riječ void u definiciji funkcije znači da ta funkcija ne vraća nikakav podatak. Takve funkcije nešto
odrade, ali ne vraćaju nikakav podatak. Kao u ovom slučaju. Funkcija ispiše poruku i to je to. Nije nam
nikakav podatak vratila sa kojim možemo nešto raditi.

Naziv funkcije je zbir. Naziv funkcije vi dajete.

Zagrade () služe da se podaci koje mi želimo proslijede funkciji. U ovom slučaju nisu prazne kao u
prvom primjeru. U prethodnom primjeru je funkcija imala samo jedan parametar int broj. U ovom
primjeru imamo definisana dva parametra. Tip oba parametra je int, a nazivi parametara su broj1 i
broj2. To ne znači da kad imamo više parametara u funkciji da oni moraju biti istog tipa. Mogu biti i
različitih tipova. Recimo, jedan bude int, a drugi bude double. Znači, u ovoj funkciji mi možemo
proslijediti dva podatka tipa int. Ne možemo proslijediti neki drugi tip podatka ovim parametrima. Zato
je i poziv funkcije zbir(a, b); Mi smo prilikom poziva funkcije proslijedili podatak a i b. Podaci a i b
su tipa int. Ovi podaci a i b koji smo proslijedili funkciji se kopiraju u parametre broj1 i broj2 i
onda u funkciji mi koristimo broj1 i broj2, a ne a i b.

Zagrade {} predstavljaju početak i kraj tijela funkcije.

I, na kraju, u ovom slučaju ovo je tijelo funkcije:


int zbir = broj1 + broj2;
printf ("Zbir dva broja je: %d\n", zbir);
U tijelu funkcije se nalazi sve ono što ta funkcija radi. U ovom slučaju ispisuje zbir dva broja koja smo
proslijedili funkciji.

Zadatak 1: Napisati funkciju u programskom jeziku C koja ispisuje proizvod tri realna broja pročitana sa
tastature.

Zadatak 2: Napisati funkciju u programskom jeziku C koja ispisuje količnik dva cijela broja pročitana sa
tastature.

You might also like