Sekarang Anda harus belajar tentang variabel, loop, dan pernyataan bersyarat itu adalah waktu untuk belajar tentang fungsi. Anda harus memiliki gagasan tentang penggunaannya karena kami telah menggunakan mereka dan didefinisikan satu dalam kedok utama. cin.get () adalah contoh dari fungsi. Secara umum, fungsi adalah blok kode yang melakukan sejumlah perintah yang telah ditetapkan untuk mencapai sesuatu yang produktif.
Fungsi yang programmer menulis umumnya akan memerlukan prototipe. Sama seperti cetak biru, prototipe memberitahu compiler apa fungsi akan kembali, apa fungsi akan dipanggil, serta apa argumen fungsi tersebut dapat berlalu. Ketika saya mengatakan bahwa fungsi mengembalikan nilai, saya berarti bahwa fungsi tersebut dapat digunakan dengan cara yang sama sebagai variabel akan. Misalnya, variabel dapat ditetapkan sama dengan fungsi yang mengembalikan nilai antara nol dan empat.
Sebagai contoh:
Sebagai contoh:
#include <cstdlib> // Include rand() using namespace std; // Make rand() visible int a = rand(); // rand is a standard function that all compilers have
Jangan berpikir bahwa 'a' akan berubah secara acak, maka akan diatur ke nilai yang
dikembalikan saat fungsi ini dipanggil, tetapi tidak akan berubah lagi.
Format umum untuk prototipe sederhana:
return-type function_name ( arg_type arg1, ..., arg_type argN );
arg_type hanya berarti jenis untuk setiap argumen - misalnya, int, float, atau char. Ini hal yang persis sama dengan apa Anda akan menempatkan jika Anda mendeklarasikan sebuah variabel.
Ada bisa lebih dari satu argumen dilewatkan ke suatu fungsi atau tidak sama sekali (di mana tanda kurung kosong), dan tidak harus mengembalikan nilai. Fungsi yang tidak mengembalikan nilai memiliki tipe kembali batal. Mari kita lihat sebuah prototipe fungsi:
int mult ( int x, int y ); Prototipe ini menetapkan bahwa mult fungsi akan menerima dua argumen, baik bilangan bulat, dan bahwa ia akan mengembalikan integer. Jangan lupa usus besar semi-trailing. Tanpa itu, compiler mungkin akan berpikir bahwa Anda sedang mencoba untuk menulis definisi yang sebenarnya dari fungsi. Ketika programmer benar-benar mendefinisikan fungsi, itu akan dimulai dengan prototipe, minus semi-colon. Lalu ada harus selalu menjadi blok dengan kode yangberfungsi untuk mengeksekusi, sebagaimana Anda menulis untuk fungsi utama. Salah satu argumen dilewatkan ke fungsi dapat digunakan sebagai jika mereka dinyatakan di blok tersebut. Akhirnya, mengakhiri semuanya dengan cherry dan penjepit penutupan. Oke, mungkin bukan ceri.
Mari kita lihat contoh program:
#include <iostream> using namespace std; int mult ( int x, int y ); int main() { int x; int y; cout<<"Please input two numbers to be multiplied: "; cin>> x >> y; cin.ignore(); cout<<"The product of your two numbers is "<< mult ( x, y ) <<"\n"; cin.get(); } int mult ( int x, int y ) { return x * y; } Program ini dimulai dengan file hanya mencakup diperlukan dan arahan untuk membuatnamespace std terlihat. Segala sesuatu di header standar dalam namespace std dan tidak dapat dilihat program kami kecuali kita membuat mereka begitu. Berikutnya adalah prototipe dari fungsi. Perhatikan bahwa ia memiliki akhir semi-usus besar! Fungsi utama mengembalikan sebuah integer, yang Anda harus selalu harus sesuai dengan standar. Anda tidak harus memiliki kesulitan memahami input dan output fungsi. Hal ini baik untuk menggunakan cin untuk input ke variabel sebagai program tidak. Tapi ketika mengetikkan nomor, pastikan untuk memisahkan mereka dengan spasi sehingga cin dapat membedakan mereka dan menempatkan mereka dalam variabel yang tepat.
Perhatikan bagaimana sebenarnya output cout apa yang tampaknya menjadi fungsi mult. Apa yang sebenarnya terjadi adalah cout sedang mencetak nilai yang dikembalikan oleh mult, bukan mult sendiri. Hasilnya akan sama dengan jika kita menggunakan Cetak ini bukan cout<<"The product of your two numbers is "<< x * y <<"\n";
Fungsi mult sebenarnya didefinisikan di bawah utama. Karena prototipe berada di
atasutama, compiler masih mengenalinya sebagai didefinisikan, sehingga compile tidak
akan memberikan error tentang mult yang terdefinisi. Selama prototipe hadir, fungsi
dapat digunakan bahkan jika ada definisi tidak ada. Namun, kode tersebut tidak dapat
dijalankan tanpa definisi meskipun dapat dikompilasi. Prototipe dan definisi dapat
dikombinasikan menjadi satu juga. Jika mult didefinisikan sebelum digunakan,
kita bisa membunuh dengan prototipe karena definisi dapat bertindak sebagai
prototipe juga.
Kembali adalah kata kunci digunakan untuk memaksa fungsi untuk mengembalikan nilai.
Perhatikan bahwa adalah mungkin untuk memiliki fungsi yang mengembalikan nilai.
Jika fungsi mengembalikan void, pernyataan kembali berlaku, tetapi hanya jika tidak
memiliki ekspresi. Dengan kata lain, untuk fungsi yang mengembalikan void,
pernyataan "kembali;" itu legal, tapi berlebihan.
Pertanyaan fungsional (Pun semi dituju) yang paling penting adalah mengapa kita
perlu fungsi? Fungsi memiliki banyak kegunaan. Misalnya, seorang programmer dapat
memiliki blok kode bahwa ia telah diulang empat puluh kali di seluruh program.
Sebuah fungsi untuk mengeksekusi kode yang akan menyimpan banyak ruang, dan juga
akan membuat program lebih mudah dibaca. Juga, hanya memiliki satu salinan kode
membuatnya lebih mudah untuk melakukan perubahan. Apakah Anda lebih suka membuat
empat puluh perubahan kecil yang tersebar di seluruh program yang berpotensi besar,
atau satu perubahan ke perubahan fungsi tubuh? Jadi akan I.
Alasan lain untuk fungsi adalah memecah program yang kompleks menjadi bagian-bagian logis. Sebagai contoh, mengambil program menu yang menjalankan kode kompleks ketika pilihan menu dipilih. Program ini mungkin akan terbaik dilayani dengan membuat fungsi untuk masing-masing pilihan menu yang sebenarnya, dan kemudian mogok tugas-tugas yang kompleks menjadi lebih kecil, tugas lebih mudah dikelola, yang bisa dalam fungsi mereka sendiri. Dengan cara ini, program dapat dirancang yang masuk akal ketika membaca. Dan memiliki struktur yang lebih mudah untuk memahami dengan cepat. Program terburuk biasanya hanya memiliki fungsi yang diperlukan, utama, dan mengisinya dengan halaman kode campur aduk. Saya rasa cukup ,, hehehe
Posting Komentar