f( )

Vreau sa apelez functii corect!

Dupa aceasta lectie, vei sti cum sa apelezi functii, de ce ordinea conteaza si cum sa-ti creezi propria biblioteca de functii.

INCEARCA

Ce e gresit aici?

Provocarea ta (2 minute):
int main() {
cout << aduna(5, 3); // EROARE!
return 0;
}
int aduna(int a, int b) {
return a + b;
}
Intrebari:
1. De ce crezi ca apare eroare?
2. Compilatorul citeste codul de sus in jos. Ce problema vezi?
3. Cum ai rezolva?
Ai nevoie de ajutor? Click aici pentru indiciu

Problema: Functia aduna este folosita INAINTE sa fie declarata!

Compilatorul nu stie ce este aduna cand ajunge la linia cu main.

Solutia: Muta functia aduna DEASUPRA lui main!

INVATA

Apelarea functiilor

Cum apelez o functie?
Pentru a apela (folosi) o functie, scrii numele urmat de paranteze cu argumentele:
numeFunctie(argument1, argument2);
// Exemple:
saluta(); // fara argumente
patrat(5); // un argument
aduna(3, 7); // doua argumente
int x = aduna(10, 20); // stochez rezultatul
ATENTIE: Ordinea conteaza!

Compilatorul C++ citeste codul de sus in jos.
O functie trebuie sa fie declarata INAINTE de a fi folosita!

GRESIT - Functia dupa main
int main() {
cout << aduna(5, 3); // ERROR: 'aduna' not declared!
}
int aduna(int a, int b) { // prea tarziu...
return a + b;
}
CORECT - Functia inainte de main
int aduna(int a, int b) { // declarat PRIMUL
return a + b;
}
int main() {
cout << aduna(5, 3); // OK! Functia e cunoscuta
}
Structura corecta a programului
Un program C++ bine organizat arata asa:
// 1. Includeri
#include <iostream>
using namespace std;
// 2. TOATE functiile tale (inainte de main)
int aduna(int a, int b) {
return a + b;
}
int patrat(int n) {
return n * n;
}
// 3. Functia main - ULTIMA
int main() {
cout << aduna(5, 3);
cout << patrat(4);
return 0;
}
Biblioteca ta de functii
Pe masura ce inveti, iti vei construi propria biblioteca de functii utile pe care le poti refolosi in orice program!
Exemple de functii utile:
int maxim(a, b)
int minim(a, b)
int abs(n)
bool estePar(n)
int patrat(n)
int cub(n)
float medie(a, b)
int aria(L, l)
Sfaturi pentru apelarea functiilor
  1. Verifica sa ai numarul corect de argumente
  2. Verifica tipul argumentelor (int pentru int, etc.)
  3. Verifica ordinea argumentelor
  4. Nu uita parantezele - chiar daca nu ai argumente: saluta()
VERIFICA

Hai sa vedem ce ai retinut!

1. De ce trebuie sa declari functiile INAINTE de main?
Pentru ca arata mai frumos codul
Pentru ca compilatorul citeste codul de sus in jos
Nu conteaza ordinea, merge oricum
2. Care este apelul corect pentru: int suma(int a, int b, int c)?
suma(5, 3)
suma(5, 3, 2)
suma 5, 3, 2
3. Care este structura corecta a unui program C++?
main() primul, apoi functiile
Nu conteaza ordinea
Includeri, functii, apoi main() la final
f( )

Felicitari!

Ai terminat Lectia 5: Apelarea functiilor

+50 XP

Esti pregatit pentru PROIECTUL FINAL!