Logo Facebook8    Logo Youtube12     Logo twitter

Lectia 11 C++ | Functii

Cand un program devine foarte complex, acesta trebuie divizat in mai multe parti. In acest mod programul devine mult mai usor de gestionat.
Pentru a putea diviza un program, se vor folosi functiile. O functie contine instructiuni clare despre o anumita sectiune dintr-un program.

Aceasta este sintaxa unei functii:
tipul_de_data numele_functiei(tipul_de_parametrii) {corpul_functiei}

Exemplu:
int functie(int x)("tip1 parametru1, tip2 parametru2, ..., tipN parametruN") {corpul_functiei}

Functiile mai sunt numite si subprograme

Exista doua tipuri de functii/programe:
-program apelant;
-program apelat;

Programul apelant poate fi un subprogram sau programul principal.
Programul principal este definit prin functia main().
Programul apelat poate fi doar un subprogram.

In urmatoarele randuri o sa iti dau un exemplu care sa te va ajuta sa intelegi mai bine cum sta treaba cu programul apelant si cel apelat:

Gandeste-te la o firma.
O firma este formata dintr-un sef care are in subordine mai multi angajati.
Seful intotdeauna ii va trage la raspundere pe angajatii acestuia. Angajatii niciodata nu vor putea sa il traga la raspundere pe sef.
In acest caz, il putem numi pe sef "Programul principal" care poate doar sa apeleze.

Seful poate sa angajeze si un subsef. Acest subsef poate la randul lui sa fie apelat de catre sef, dar si sa apeleze angajatii pe care acesta ii are in subordine.
In acest caz il putem numi pe subsef "program sau subprogram" deoarece poate atat sa apeleze cat si sa fie apelat.

 O functie nu poate fi definita in interiorul unei alte functii. De regula, functiile se definesc inaintea functiei main().
Toate functiile pot fi apelate sau apelante, dar functia main() va detine intotdeauna controlul.

EXEMPLU:

 

#include <iostream>
using namespace std;

int functie(int x){
cout<<x;
}


int main(){
int a=6;

functie(a);

return 0;}

 
Acum, sa explicam fiecare rand:

-"int functie(int x)" | acesta este antetul functiei

-"int" inseamna ca functia lucreaza cu numere intregi.
-"functie" este numele functiei (puteti pune orice nume doriti).
-"(int x)" reprezinta tipul de parametrii formali pe care o sa ii introduceti. Este o variabila care nu trebuie initializata.
Puteti introduce cati parametrii formali doriti separandu-i prin virgula.

{}
-intre aceste paranteze se afla corpul functiei.

printf("%d",x);
-"x" va fi inlocuit cu "x" din "int functie(int x)".

int a=6;
-am declarat o variabila

functie(a);
-am apelat functia "functie".
-"a" este un parametru actual si va inlocui "x" din "int functie(int x)" care la randul lui va inlocui "x" din "printf("%d",x);".

In concluzie, se va afisa 6.


Acum sa dam exemplu de o functie care are mai multi parametrii.

 

#include <iostream>
#include <stdio.h>
using namespace std;

void functie(int x,float y,char abc){
printf("%d\n",x);
printf("%f\n",y);
printf("%c",abc);
}

int main(){
int a=6;
float b=5.6;
char c='Z';

functie(a,b,c);

return 0;}

6
5.600000


Trebuie sa introduceti variabilele a, b, c, in ordinea tipului de date fata de functie.

void functie(int x,float y,char abc)
Primul parametru formal este "int".
In concluzie, unde am apelat functia trebuie sa punem variabila de tip "int" prima.
functie(a,b,c);

 


 

Acest site foloseste cookie-uri.

Folosim cookie-uri pentru a vă asigura că aveti cea mai bună experiență pe acest site.

I understand
DESPRE NOI
World-IT este un site care are ca domeniu Tehnologia Informatiei(IT).
Acest site are ca prim scop introducerea persoanelor in acest domeniu. Mai multe informatii aici.

URMARESTE-NE 
Logo Facebook8  Logo Youtube12  Logo twitter

Despre noi

cialiscialis couponcialis genericcialis dosagegeneric cialiscialis costcialis vs viagracialis pricescialis side effectscialis couponscialis 30 day sampleviagra vs cialiscialis onlinecialis pillscialis samplesbuy cialiscialis 20 mgcialis patent expirationcialis coupons printablecialis for daily usecialis samples overnightcheap cialiscost of cialis200 cialis couponcialis dailycialis 20mggeneric cialis at walmartcealiscialis canadacialis trialhow does cialis workwhen will cialis go genericcialis on lineside effects of cialiscialis 30 day trial couponcialis 5mgcialis for mencialasbuy cialis onlinecialis for salecialis patent expiration date extendedhow to take cialiscialis pricecialis from canadahow much does cialis costfree cialisviagra vs cialis vs levitracialis reviewscialis coupons from manufacturerwhat is cialiscialis pills for salecialis patent expiration 2017canadian cialiscialis tadalafilcialis or viagrageneric for cialiscialis professionalcialis free trialcialis medicationciliascialis for bphcialis coupons 2017cyaliscialis dosage strengthscialis discountgeneric cialis tadalafildiscount cialiscialis dosage recommendationscialis 5 mgonline cialiscialis canadian pharmacycialis copay cardlowest cialis pricescialis for womencialis generic availabilitycialis vouchercialis savings cardcialis 10 mgcialis websitecialis generic tadalafilliquid cialisdaily cialisviagra cialiscialis otcerectile dysfunction cialiscialis 5mg dailycanada cialiscialis coupon 20 mgcialis pricingcialis coupon printviamedic cialiscialis cheapcialis pharmacy pricescialis 20mg directionsprice cialiscialis samplewholesale cialiscialis alternativecialis effectscialis testimonialslevitralevitra couponlevitra 20 mglevitra 20mgbuy levitralevitra priceslevitra genericlevitra onlinelevitra vs viagrageneric levitralevitra couponslevitra rezeptfrei deutschlandlevitra 10 mg prezzocheap levitra9 levitra at walmartlevitra erfahrungenlevitra dosageviagra vs cialis vs levitrageneric levitra vardenafil 20mgwhat works better than viagrabuy levitra onlinelevitra without a doctor prescriptionbuy generic levitralevitra 20mg cost per pillvardenafil 20mglevitra prezzo in farmacialevitra 20 mg precio farmaciavardenafil vs viagralevitra 20 mg cost walmartlevitra vs viagra for hardnesslevitra bayer 20mg meilleur prixlevitra 20 mg von bayerviagrageneric viagraviagra genericviagra couponsviagra without a doctor prescriptionviagra onlineequipe argentine viagraviagra pricesbuy viagracialis vs viagracheap viagraviagra pillsviagra samplesviagra side effectswhat is viagraviagra couponviagra naturalviagra dosageviagra for sale uknatural viagrabuy viagra onlinegeneric viagra 100mgfemale viagrahow does viagra workhow to use viagraviagra activateherbal viagraviagra tabletssophia viagraviagra sans ordonnanceviagra kaufenviagra tabletviagra vs cialisonline viagracanadian viagraviagra for womenviagra ohne rezept aus deutschlandpfizer viagraviagra 100mgviagra costfree viagraviagra alternativesviagra canadaviagra on lineviagra single packsviagra for menviagra pillviagra 100mg tablets retail priceorder viagraviagra tescoside effects of viagraviagra pillen kruidvatviagra for salediscount viagrawhat does viagra doviagra costsviagra uklevitra vs viagrawhere to buy viagraviagra substitutehow long does viagra lastviagra alternativeviagra receptfrittviagra priceviagra 100viagra en ligne livraison 24hviagra on line no precviagra 100 mgutilisation viagrabest price viagracost of viagraviagra sexviagra wikipediasex viagra for womenviagra nebenwirkungenrevatio vs viagraviagra without a doctor prescription usaviagra genericoviagra 50mgviagra from canadaover the counter viagraviagra effectsviagra medicinepfizer viagra coupons from pfizerbuy generic viagraviagra wikiviagra bestellenviagra ohne rezept auf rechnungcanada viagrawomen viagrabuying viagraviagra soft