Pengembalian Nilai Boolean Menggunakan Fungsi dalam program menu

2008 | Direktorat Pembinaan SMK 277 Sebuah fungsi isEven disebut dalam pernyataan dibawah ini: if isEvenval ketika pernyatasan IF dieksekusi, isEven disebut dengan val sebagai argument. Jika val genap, isEven adalah benar dan sebaliknya akan salah.

7.10. Menggunakan Fungsi dalam program menu

Dalam sebelumnya kita melihat menu-driven program yang menghitung biaya kesehatan untuk anggota klub. Program 7.14 dibawah adalah untuk meningkatkan modular versi program. Perhatikan bagaimana setiap fungsi, atau modul, yang dirancang untuk melakukan tugas tertentu. Program 7.14 include iostream include iomanip include string using namespace std; Function prototypes void displayMenu; int getChoice; void computeFeesstring, double, int; const double ADULT_RATE = 40.00 , SENIOR_RATE = 30.00 , CHILD_RATE = 20.00 ; int main { int choice, months; cout fixed showpoint setprecision 2 ; do { displayMenu; choice = getChoice; if choice = 4 { 278 Direktorat Pembinaan SMK | 2008 cout berapa jumlah banyaknya bulan:? ; cin months; switch choice { case 1 : computeFees Dewasa , ADULT_RATE, months; break; case 2 : computeFees Anak , CHILD_RATE, months; break; case 3 : computeFees Senior , SENIOR_RATE, months; } } } while choice = 4 ; return ; } void displayMenu { cout \nmenu keanggotaan klub kesehatan \n\n ; cout 1. Keanggotaan dewasa \n ; cout 2. Keangotaan anak\n ; cout 3. senior\n ; cout 4. Keluar\n\n ; } int getChoice { int choice; cin choice; while choice 1 || choice 4 { cout pilihan hanya no 1 – 4 tekan enter. ; cin choice; } return choice; } void computeFeesstring memberType, double rate, int months { cout endl tipe keanggotaan: memberType bayaran perbulan Rp rate endl Jumlah bulan: months endl 2008 | Direktorat Pembinaan SMK 279 Total:Rp. rate months endl endl; } Yang perlu diperhatikan adalah fleksibilitas dari fungsi computeFees, yang disebut pada tiga tempat yang berbeda-beda dengan pernyataan switch. Hal ini disampaikan tiga argumen: string memegang jenis keanggotaan, double memegang biaya bulanan untuk jenis keanggotaan, dan integer memegang jumlah tagihan per bulan. Tanpa argumen, kita akan menetapkan sesuatu yang diperlukan keseluruhan fungsi: satu untuk menghitung biaya keanggotaan dewasa, anak yang lain untuk menghitung biaya keanggotaan, dan ketiga untuk menghitung biaya keanggotaan senior. Karena kita dapat informasi yang berbeda lulus sebagai argumen ke fungsi tersebut, namun, kami mampu membuat satu tujuan umum-fungsi yang bekerja untuk semua tiga kasus.

7.11. Variabel Lokal dan Global

Seperti yang telah ditetapkan bahwa variabel didalam fungsi utama, Anda juga dapat menetapkan fungsi di dalam fungsi-fungsi lainnya. Variabel yang ditetapkan dalam fungsi lokal ke fungsi. Mereka tersembunyi dari pernyataan dalam fungsi lainnya, yang biasanya tidak bisa mengaksesnya. Program 7.15 menunjukkan bahwa variabel yang ditetapkan dalam suatu fungsi yang tersembunyi, dimana fungsi lainnya mungkin telah terpisah, berbeda variabel dengan nama yang sama. Program 7.15 include iostream using namespace std; void anotherFunction; int main { int num = 1 ; cout Dalam program utatma,num adalah: num endl; anotherFunction; cout Kembali dalam program utama, num masih num endl; return ; } 280 Direktorat Pembinaan SMK | 2008 void anotherFunction { int num = 20 ; variabel Local cout Dalam anotherFunction, num adalah: num endl; } Keluaran Program adalah sebagai berikut: Dalam program utatma,num adalah: 1 Dalam anotherFunction, num adalah: 20 Kembali dalam program utama, num masih 1 Meskipun terdapat dua variabel num, program ini hanya bisa melihat salah satu dari mereka setiap saat. Ketika program dijalankan dalam program utama, yang didefinisikan pada variabel num akan terlihat pada program utama. Ketika anotherFunction disebut sebagai variabel yang ditetapkan didalamnya akan terlihat, sehingga dalam variabel num program utama tersembunyi. Perhatikan program yang mengilustrasikan sifat tertutup dari dua fungsi, dimana bentuk kotak mewakili lingkup variabel Fungsi main Int num = 1; Variabel num hanya terlihat pada program utama Fungsi anotherFunction int num = 20; Variabel num hanya terlihat pada anotherFunction Gambar 7.10. Dua Fungsi yang mempunyai sifat tertutup, Sebuah Lokal variabel dapat dikatakan sebagai variable yang aman dan tersembunyi dari fungsi lain, tetapi variable ini tidak menyediakan cara yang mudah untuk berbagi data. Jika sejumlah besar data harus dapat diakses oleh semua fungsi dalam program, variabel global dapat digunakan sebagai alternatif mudah. Sebuah variabel global merupakan variabel yang ditetapkan diluar oleh semua fungsi dalam sebuah program. Program 7.16 menunjukkan dua buah fungsi utama dan anotherFunction, dimana menggunakan akses yang sama yaitu variabel global num.