C++ Fonksiyonlar Örnek
Merhaba arkadaşlar, bu dersimizde fonksiyonlarda bir örnek yaparak fonksiyonları daha iyi anlamış olacağız.Şimdi öncelikle kodumuza ve çıktısına bakarak üzerinden anlatalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
#include "stdafx.h" #include <iostream> using namespace std; void dikdortgen() { int secim1; int a = 0; int b = 0; cout << "Dikdortgeninizin iki kenarini giriniz ="; cin >> a; cout << " "; cin >> b; bas: cout << "1.Alan\n2.Cevre" << endl; cout << "Yapmak istediğiniz isleimi seciniz : "; cin >> secim1; switch (secim1) { case 1: cout << "Seciminiz Alan Hesabi =" << a*b << endl; break; case 2: cout << "Seciminiz Cevre Hesabi = " << (2 * a) + (2 * b) << endl; break; default: cout << "HAtali giris yaptiniz!" << endl; cout << "Seciminiz 1-3 arasi degerler olsun !" << endl; goto bas; break; } } void kare() { int secim2; int a = 0; cout << "Karenizin bir kenarini giriniz ="; cin >> a; bas: cout << "1.Alan\n2.Cevre" << endl; cout << "Yapmak istediğiniz isleimi seciniz : "; cin >> secim2; switch (secim2) { case 1: cout << "Seciminiz Alan Hesabi =" << a*a << endl; break; case 2: cout << "Seciminiz Cevre Hesabi = " << 4*a << endl; break; default: cout << "HAtali giris yaptiniz!" << endl; cout << "Seciminiz 1-3 arasi degerler olsun !" << endl; goto bas; break; } } void ucgen() { int secim3; int a = 0; int b = 0; int c = 0; int h = 0; cout << "Ucgeninizin tabanini giriniz ="; cin >> a; cout << "Ucgenin iki kenarini giriniz = "; cin >> b; cout << " "; cin >> c; cout << "Ucgenin yuksekligini giriniz = "; cin >> h; bas: cout << "1.Alan\n2.Cevre" << endl; cout << "Yapmak istediğiniz isleimi seciniz : "; cin >> secim3; switch (secim3) { case 1: cout << "Seciminiz Alan Hesabi =" << (a*h)/2 << endl; break; case 2: cout << "Seciminiz Cevre Hesabi = " << a+b+c << endl; break; default: cout << "HAtali giris yaptiniz!" << endl; cout << "Seciminiz 1-3 arasi degerler olsun !" << endl; goto bas; break; } } int main() { int secim =0; cout << "************Programimiza Hosgeldiniz*****************" << endl; basla : cout << "1-Dikdortgen Islem\n2-Kare Islem\n3-Ucgen Islem" << endl; cout << "Yapmak Istediginiz Geometri Islemini Seciniz : "; cin >> secim; cout << endl; switch (secim) { case 1: dikdortgen(); break; case 2 : kare(); break; case 3: ucgen(); break; default: cout << "*Hatali Secim!!!" << endl; cout << "Seciminiz 1-3 arasi degerler olsun !" << endl; goto basla; break; } system("PAUSE"); return 0; } |
Burada dikkat çekmek istediğim nokta goto yapısı.Goto kullanıldığı vakit kod içerisinde istediğimiz yere tekrar gönderme işlemi yaparız.Böylece işlemlerimiz tekrarlanabilir.Sadece programın main kısmında değil kodu incelediğimizde fonksiyonların içerinde goto yapısı kullanılarak hata giriş yapıldığında menümüz tekrar gelecektir.
Örneğimizdeki gibi fonksiyonlar bizi kod kalabalığından,karmaşasından kurtarır.Switch-caseler menu seçimlerinde oldukça kolaylık sağlar.
Bu programımızda geometrik işlemleri yapan bir kod yazdık.Kodumuzda hem fonksiyon yapısını ve işlevini hemde switch-case yapısının yararını iyice görmüş olduk.Ayrıca goto yapısınıda böyle bir programda kullanarak faydasını gördük.