Ndertimi i funksioneve me shume parametra

 

6.4  Ndertimi i nje funksioni  fq 211

                  

Si ndertohet nje funksion?

 

  1. Koka e funksionit (deklarimi)
  2. {
  3. trupi
  4. }

Vete koka e funksionit perbehet nga disa pjese:

 

1.tipi i kthimit qe mund te jete int, long, float, double bool, char etj ose void qe tregon se funksioni nuk kthen vlere.

 

  1. emri i funksionit (duhet te jete identifikues

 i vlefshem ne c++, jo space, jofjalekyce, jo numer ne fillim, jo simbole te tjera pervec _)

  1. (
  2. argumentat nese ka (informacioni qe kerkon nje funksion)
  3. )

 

Kemi disa lloje funksionesh:

 

1.Funksionet pa argumenta qe nuk kthejne vlere.

2.Funksionet me argumenta qe nuk kthejne vlere.

3.Funksionet pa argumenta qe  kthejne vlere.

4.Funksionet me argumenta qe kthejne vlere.

Ndertimi i nje funksioni pa parametra qe nuk kthen vlere:

void emri_funx ()

{

veprime;

}

 

   emri_funx();

 

Thirrja e nje funksioni pa parametra qe nuk kthen vlere:

// 1.Funksionet pa argumenta qe nuk kthejne vlere.

#include <iostream>

using namespace std;

 

void afisho()

{

   cout << "Pershendetje"<< endl;

}

 

int main()

{

    afisho();//thirrja e funx afisho()

afisho();

afisho();

   system("pause");

return 0;

}

#include <iostream>

using namespace std;

 

void afisho()

{

int a = 5,b = 7,c;

c = a+b;

   cout << "c = "<< c<<endl;

}

int main()

{

 afisho(); //thirrja e funx afisho()

 afisho();

 afisho();  

system("pause");

return 0;

}

2.Funksionet me argumenta qe nuk kthejne vlere.

 

Parametrat jane informacioni qe i duhet nje funksioni per te kryer veprimet e tij.

 

Parametrat deklarohen brenda kllapave te funksionit.

tipi_kthimit funksioni(tipi emri, tipi emri,etj)

EDHE SIKUR TIPI TE JETE I NJEJTE

 

// katrori i nje numri

#include <iostream>

using namespace std;

void square( int);  // prototipi i funksionit

int main()

{  

int x;

cout<<"Jepni nje numer"<<endl;

cin >> x;

     square( x ) ;

     square( x+1) ;

     square( 52) ;

     system ("pause");

   return 0;

}

 

void square( int y )

{

   int k = y * y;

   cout<<"Katrori ="<< k<<endl;

}

6.4 .Funksionet me argumenta qe  kthejne vlere. fq 211

 

Nese vlera e llogaritur nga nje funksion nuk nevojitet vetem per t'u afishuar por me te duhet te kryhen veprime te metejshme atehere funsioni duhet t'i ktheje vlere funksionit therrites.

Nje funksion qe kthen vlere duhet te kete patjeter ne rreshtin e fundit nje instruksion return vlera;

 

ku vlera mund te jete:

  1. konstante
  2. variabel
  3. shprehje

 

Tipi i kthimit te nje funksioni qe kthen vlere duhet te korrespondoje me tipin e vleres qe ai kthen.

 

Si thirret nje funksion qe kthen vlere?

Thirrja e ketyre funksioneve perfaqeson vleren e kthyer, e cila:

  1. mund te afishohet
  2. mund t'i jepet nje variabli
  3. mund te perdoret ne kushte te ndryshme logjike ose veprime aritmetike.

 

Rregulla te pergjithshme per funksionet:

  1.  Nese nuk vendosim tipin e kthimit ne deklarimin(koken) e nje funksioni kemi gabim sintakse.
  2.  Nese nuk vendoset instruksioni return ne nje funksion qe kthen vlere mund te kemi gabim logjik .
  3.  Vendosja e instruksionit return vlera; ne nje funksion qe nuk kthen vlere eshte gabim sintakse.
  4.  Deklarimi i parametrave (argumentave) ne formen(int a,b) eshte gabim sintakse. Tipi duhet vendosur per cdo argument.
  5.  Vendosja e ; ne fund te deklarimit te funksionit eshte gabim sintakse.
  6.  Ri-deklarimi i nje variabli lokal i cili eshte deklaruar nje here si argument eshte gabim sintakse.
  7.  Ndertimi i trupit te nje funksioni brenda nje funksioni tjeter eshte gabim sintakse.
  8.  Tipet dhe rendi i argumentave duhet te korrespondojne tek prototipi , thirrja dhe deklarimi i funksionit perndryshe kemi gabim.
  9.  Nese ne ndonje rast duhet te dilet nga nje funksion qe nuk kthen vlere shkruajme instruksionin:   return;
  10.  Nese prototipi i nje funksioni F1() vendoset brenda nje funksioni tjeter F2() atehere funksioni F1() do te njihet vetem nga funksioni F2() dhe jo nga funksionet e tjere te programit.

 

// Shembull: katrori i nje numri duke perdorur funksionet qe kthejne vlere.

 

#include <iostream>

using namespace std;

int square( int );   // function prototype

 

int main()

{  

int x=5;int y;

cout<<"Jepni nje numer"<<endl;

cin >> x;

  y=square( x )+2*x+3;

cout<<"y = "<<y<<endl;

     system ("pause");

   return 0;

}

// Funksion me argument qe  kthen vlere

 

int square( int y )

{

  int k = y *y;

  return k;

}

  Tipet e te dhenave

EMRI                     RANGU I VLERAVE

int                        System dependent

         

unsigned int                  System dependent

__int8                             –128 to 127

__int16                           –32,768 to 32,767

__int32                           –2,147,483,648 to 2,147,483,647

__int64                           –9,223,372,036,854,775,808 to                           9,223,372,036,854,775,807

 

char                     –128 to 127

unsigned char               0 to 255

short                    –32,768 to 32,767

         

unsigned short              0 to 65,535

long                      –2,147,483,648 to 2,147,483,647

unsigned long                0 to 4,294,967,295

enum                    Same as int

float                     3.4E +/- 38 (7 digits)

double                           1.7E +/- 308 (15 digits)

long double                   1.2E +/ - 4932 (19