Tipuri de funcții definite de utilizator în C ++

În acest tutorial, veți afla despre diferite abordări pe care le puteți lua pentru a rezolva o singură problemă folosind funcțiile.

Pentru o mai bună înțelegere a argumentelor și returnarea funcțiilor, funcțiile definite de utilizator pot fi clasificate ca:

  • Funcție fără argument și fără valoare de returnare
  • Funcție fără argument, dar valoare returnată
  • Funcție cu argument, dar fără valoare de returnare
  • Funcție cu argument și valoare returnată

Luați în considerare o situație în care trebuie să verificați numărul prim. Această problemă este rezolvată mai jos prin realizarea funcției definite de utilizator în 4 moduri diferite, așa cum s-a menționat mai sus.

Exemplul 1: nu s-au trecut argumente și nu există valoare de returnare

 # include using namespace std; void prime(); int main() ( // No argument is passed to prime() prime(); return 0; ) // Return type of function is void because value is not returned. void prime() ( int num, i, flag = 0; cout <> num; for(i = 2; i <= num/2; ++i) ( if(num % i == 0) ( flag = 1; break; ) ) if (flag == 1) ( cout << num << " is not a prime number."; ) else ( cout << num << " is a prime number."; ) ) 

În programul de mai sus, prime()este apelat din main () fără argumente.

prime() preia numărul pozitiv de la utilizator și verifică dacă numărul este sau nu un număr prim.

Deoarece, tipul returnat prime()este void, nu se returnează nicio valoare din funcție.

Exemplul 2: nu s-au trecut argumente, ci o valoare returnată

 #include using namespace std; int prime(); int main() ( int num, i, flag = 0; // No argument is passed to prime() num = prime(); for (i = 2; i <= num/2; ++i) ( if (num%i == 0) ( flag = 1; break; ) ) if (flag == 1) ( cout<  n; return n; ) 

În programul de mai sus, prime()funcția este apelată din main()fără argumente.

prime()ia un întreg pozitiv de la utilizator. Deoarece tipul de returnare a funcției este un int, acesta returnează numărul introdus de la utilizator înapoi la main()funcția de apelare .

Apoi, dacă numărul este prim sau nu este verificat în main () însuși și imprimat pe ecran.

Exemplul 3: Argumente transmise, dar fără valoare returnată

 #include using namespace std; void prime(int n); int main() ( int num; cout <> num; // Argument num is passed to the function prime() prime(num); return 0; ) // There is no return value to calling function. Hence, return type of function is void. */ void prime(int n) ( int i, flag = 0; for (i = 2; i <= n/2; ++i) ( if (n%i == 0) ( flag = 1; break; ) ) if (flag == 1) ( cout << n << " is not a prime number."; ) else ( cout << n << " is a prime number."; ) )

În programul de mai sus, numărul pozitiv este cerut mai întâi de la utilizator, care este stocat în variabila num.

Apoi, num este trecut la prime()funcția în care, dacă numărul este prim sau nu este verificat și tipărit.

Deoarece, tipul returnat de prime()este a void, nu se returnează nicio valoare din funcție.

Exemplul 4: Argumente transmise și o valoare returnată.

 #include using namespace std; int prime(int n); int main() ( int num, flag = 0; cout <> num; // Argument num is passed to check() function flag = prime(num); if(flag == 1) cout << num << " is not a prime number."; else cout<< num << " is a prime number."; return 0; ) /* This function returns integer value. */ int prime(int n) ( int i; for(i = 2; i <= n/2; ++i) ( if(n % i == 0) return 1; ) return 0; ) 

În programul de mai sus, un întreg pozitiv este cerut de la utilizator și stocat în variabilă num.

Apoi, numeste trecut la funcția în prime()care, dacă numărul este prim sau nu este verificat.

Deoarece, tipul de returnare prime()este an int, 1 sau 0 este returnat la main()funcția de apelare. Dacă numărul este un număr prim, se returnează 1. Dacă nu, se returnează 0.

Înapoi în main()funcție, 1 sau 0 returnat este stocat în steagul variabil, iar textul corespunzător este imprimat pe ecran.

Care metodă este mai bună?

Toate cele patru programe de mai sus oferă aceeași ieșire și toate sunt programe tehnic corecte.

Nu există o regulă dură și rapidă asupra metodei care trebuie aleasă.

Metoda specială este aleasă în funcție de situație și de modul în care doriți să rezolvați o problemă.

Articole interesante...