Verification: 6ab19e626810e10c Fonksiyonlar konu anlatımı cpp - Hikmet İSKİFOĞLU

Fonksiyonlar konu anlatımı cpp

Fonksiyonlar konu anlatımı cpp

Oldukça fazla fonksiyon kullanarak yapmış olduğumuz bu uygulama fonksiyonlar konusu için iyi bir pekiştirme olacaktır. Void fonksiyon kullanı için basit bir anlatımdan sonra hesap makinesi örneğimize geçeceğiz. Örnekte yapılan işlemler tamamen fonksiyonlar konusunun pekişmesi hedeflenerek yapılmıştır.

Haydi başlayalımm.

Bir çok farklı tipte ve özellikte fonksiyon çeşitleri olmasına rağmen kullanımları oldukça kolaydır. Bizleri birçok hammalıktan kurtaracak tatlı mı tatlı kod bloklarına verdiğimiz isimdir aslında fonksiyon.

Hani bizlere lise zamanında matematik dersinde fonksiyonlar diye bir konu göstermişlerdiya. Heh işte tam olarak olmasada temel olarak o fonksiyon bu fonksiyon.

f(x)=x+2 dediğimiz fonksiyonun anlamı f adlı fonksiyona yollanan x değerini (= den sonraki kısım fonksiyon içeriğidir) fonksiyon içindeki x yerine koyup işlemleri yap demektir.

Bunu c++ dilinde yapacak olursak:

//örnek 1
int fonksiyon(int x)
{
x=x+2;
return x;
}
//örnek 2
void fonksiyon(int x){ 
x=x+2;
cout<<x;
}

//örnek 3
int fonksiyon(int x)
{
return x+2;
}

f(x)=x+2 fonksiyonunu kodlamada 3 şekilde yaptık. Şimdi bunların arasındaki farktan bahsedip fonksiyonların mantığını ufak ufak kavrayalım.

Öncelikle ” int fonksiyon(int x)” fonksiyonundan bahsedelim. Bir fonksiyon tanımlarken önce fonksiyonun döndüreceği değeri belirtmeliyiz. Dönecek değer derken kasteddiğimiz değer ise “return” ifadesin oluyor. return x; bizim x değerimizi döndürüyor demek oluyor. Ee bu nereye döndürüyor x’ i kime ne zaman derseniz de . Program return satırına geldiğinde oraya yazdığınızı “ki biz x yazdık ilk örnekte” çıktı olarak verecektir.

İsterseniz döndürülmesi gereken değeri direk return satırında da işleyebilirsiniz “örnek 3” direk return x+2; yazarak bu kullanımı da yapıyoruz.

Bu değer döndürme olayınıda şuradan çıkartıyoruz. Misal bir faktoriyel hesabı yapıp ekrana sonucu yazdıran bir kod yazacaksınız. Kodları yazdığınız alan karmaşıklaşmasın amacıyla faktoriyel hesaplama kodlarını başka bir alanda yazmak istiyorsunuz. Bunun için iki yöntem kullanabilirsiniz .

1) void bir faktoriyel fonksiyonu oluşturup hesaplamalar bittiğinde direk sonucu o fonksiyon içerisinde ekrana bastırırsınız. bkz:

//-----
//fonksiyonu çağırdığımız 
FaktoriyelFonksiyonum(sayi);
//-----
//Fonksiyonum
void FaktoriyelFonksiyonum(int x)
{//hesaplamalar yapılıp sonuc değişkenine 
//atılıyor ve ekrana basılıyor.
cout<<sonuc;
}

2) int bir faktoriyel fonksiyonu oluşturursunuz hesaplama işlemini onun içerisinde yaparsınız ve sonucu “return sonuc;” şeklinde yazarsınız. Bu şekilde yaptığınızda ise faktoriyel fonksiyonunu çağırdığınız bölümü şu şekilde yapmanız uygun olacaktır. bknz:

//-----
//fonksiyonu çağırdığımız 
cout<<FaktoriyelFonksiyonum(sayi);
//-----
//Fonksiyonum
void FaktoriyelFonksiyonum(int x)
{//hesaplamalar yapılıp sonuc değişkenine 
//atılıyor sonuc return ediliyor.
return sonuc;
}

Aşşağıdaki örnekte full void fonksiyon kullanarak bir hesap makinesi yaptık. Yorum satırlarıyla fonksiyonların işlevlerini belirttik. Çalışırken kendi derleyicinize aktarıp üzerinde ufak ufak değişiklikler yapmaya çalışırsanız çok daha faydalı olacaktır.

Önerilen Yazı :  C dilinde sayısal loto programı

İyi çalışmalar.

#include <iostream>
using namespace std;
float z,x,y;
int islem1=0;
void AnaEkran();
void islem();
void Toplama(float x,float y)//Toplama işleminin yapıldığı fonksiyon burasıdır.
{
 z=x+y;

 cout<<"Yaptiginiz Son islem"<<x<<"+"<<y<<"="<<z<<endl;
 AnaEkran();
}
void Cikartma(float x,float y)//çıkartma işleminin yapıldığı fonksiyon burasıdır.
{
 z=x-y;

 cout<<"Yaptiginiz Son islem"<<x<<"-"<<y<<"="<<z<<endl;
 AnaEkran();
}
void Bolme(float x,float y)//bölme işleminin yapıldığı fonksiyon burasıdır.
{
 z=x/y;

 cout<<"Yaptiginiz Son islem"<<x<<"/"<<y<<"="<<z<<endl;
 AnaEkran();
}
void Carpma(float x,float y)//Çarpma işleminin yapıldığı fonksiyon burasıdır.
{
 z=x*y;

 cout<<"Yaptiginiz Son islem"<<x<<"*"<<y<<"="<<z<<endl;
 AnaEkran();
}
void SoniSlem() //Yapılan son işlemin ne olduğunu belirleyip tekrarlanmasını sağlayan fonksiyondur.
{
 if (islem1==1)
 {
 Toplama(x,y);
 }

 else if(islem1==2)
 {
 Cikartma(x,y);
 }

 else if (islem1==3)
 {
 Carpma(x,y);
 }

 else if (islem1==4)
 {
 Bolme(x,y);
 }

 else
 {
 cout<<"Daha once hicbir islem yapimamistir.. AnaMenuye yonlendiriliyorsunuz..."<<endl;
 AnaEkran();
 }
}
void islem() //islem yapılacak sayılar ve yapılacak ıslemlerı burada alıyoruz
{
 cout << "islem yapacaginiz birinci sayiyi giriniz..." << endl;
 cin>>x;
 cout << "islem yapacaginiz ikinci sayiyi giriniz..." << endl;
 cin>>y;
 cout<<"Yapmak istediğiniz islemi seciniz..."<<endl
 <<"Toplama islemi icin=>1\n Cikartma islemi icin=>2 \n Carpma islemi icin =>3\n Bolme islemi icin=>4\n";
 cin>>islem1;
 switch (islem1)
 {
 case 1:
 Toplama(x,y);
 break;
 case 2:
 Cikartma(x,y);
 break;
 case 3:
 Carpma(x,y);
 break;
 case 4:
 Bolme(x,y);
 break;
 default:
 cout<<"Yanlis bir sayi girdiniz Tekrar deneyiniz..";
 islem();
 break;
 }
}
void AnaEkran() //Sürekli geri dönüş yapılan Anaekran fonksiyonu.
{
 int a;

 cout<<"Hesap Makinesi Programina hosgeldiniz...\n";
 cout<<"Yeni bir islem yapmak istiyorsaniz=>1'e basiniz\n";
 cout<<"En son yapilan islemi görmek istiyorsaniz=>2' ye basiniz.\n";
 cout<<"Ekrani temizlemek icin =>3 e basiniz..."<<endl;
 cin>>a;
 if(a==1)
 islem();
 else if(a==2)
 SoniSlem();
else if(a==3){
 system("cls");
 //Ekran Temizleme Kodu
 AnaEkran();
}
 else{
 cout<<"Yanlis bir tuslama yaptiniz... AnaMenu ye yonlendiriliyorsunuz...";

 AnaEkran();
 }
}
int main()
{
 AnaEkran();
 return 0;
}
Total Page Visits: 772 - Today Page Visits: 1

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir