Jenis Fungsi yang Ditentukan Pengguna di C ++

Dalam tutorial ini, Anda akan belajar tentang berbagai pendekatan yang dapat Anda lakukan untuk menyelesaikan satu masalah menggunakan fungsi.

Untuk pemahaman yang lebih baik tentang argumen dan mengembalikan fungsi, fungsi yang ditentukan pengguna dapat dikategorikan sebagai:

  • Fungsi tanpa argumen dan nilai pengembalian
  • Fungsi tanpa argumen kecuali nilai kembalian
  • Fungsi dengan argumen tetapi tidak ada nilai yang dikembalikan
  • Fungsi dengan argumen dan nilai balik

Pertimbangkan situasi di mana Anda harus memeriksa bilangan prima. Masalah ini diselesaikan di bawah ini dengan membuat fungsi yang ditentukan pengguna dalam 4 cara berbeda seperti yang disebutkan di atas.

Contoh 1: Tidak ada argumen yang diberikan dan tidak ada nilai yang dikembalikan

 # 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."; ) ) 

Dalam program di atas, prime()dipanggil dari main () tanpa argumen.

prime() mengambil bilangan positif dari pengguna dan memeriksa apakah bilangan tersebut adalah bilangan prima atau bukan.

Karena, tipe kembalian prime()adalah void, tidak ada nilai yang dikembalikan dari fungsi.

Contoh 2: Tidak ada argumen yang diberikan kecuali nilai yang dikembalikan

 #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; ) 

Dalam program di atas, prime()fungsi dipanggil dari main()tanpa argumen.

prime()mengambil bilangan bulat positif dari pengguna. Karena, tipe kembalian dari fungsinya adalah an int, ia mengembalikan nomor yang dimasukkan dari pengguna kembali ke main()fungsi panggilan .

Kemudian, apakah bilangan tersebut prima atau tidak, diperiksa di main () itu sendiri dan dicetak ke layar.

Contoh 3: Argumen diteruskan tetapi tidak ada nilai yang dikembalikan

 #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."; ) )

Pada program di atas, bilangan positif pertama kali ditanyakan dari pengguna yang disimpan dalam variabel num.

Kemudian, prime()bilangan dilewatkan ke fungsi di mana, bilangan prima atau tidak dicentang dan dicetak.

Karena, tipe yang dikembalikan prime()adalah a void, tidak ada nilai yang dikembalikan dari fungsi tersebut.

Contoh 4: Argumen diteruskan dan nilai kembalian.

 #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; ) 

Dalam program di atas, bilangan bulat positif diminta dari pengguna dan disimpan dalam variabel num.

Kemudian, numditeruskan ke fungsi di prime()mana, apakah bilangan tersebut prima atau tidak dicentang.

Karena, tipe kembaliannya prime()adalah int, 1 atau 0 dikembalikan ke main()fungsi pemanggil. Jika bilangan tersebut adalah bilangan prima, 1 dikembalikan. Jika tidak, 0 dikembalikan.

Kembali ke main()fungsi, 1 atau 0 yang dikembalikan disimpan dalam bendera variabel, dan teks terkait dicetak ke layar.

Metode mana yang lebih baik?

Keempat program di atas memberikan hasil yang sama dan semuanya merupakan program yang benar secara teknis.

Tidak ada aturan yang tegas tentang metode mana yang harus dipilih.

Metode tertentu dipilih tergantung pada situasi dan bagaimana Anda ingin menyelesaikan masalah.

Artikel yang menarik...