Metotlar (Fonksiyonlar)

Şu ana kadar hep system sınıfındaki hazır metotları kullandık metotlara birden fazla kez aynı kodları çalıştırmak istediğimiz zaman kullanırız bize kolaylık sağlar.

static void yaz()//geri değer döndürmeyen ve hiçbir parametre almayan yaz adında bir metot oluşturduk.main metotu içine yaz(); şeklinde kullanabiliriz.
{
  Console.Write("Metotla yaz");
}
static veritipi fonksiyonadı(parametreler)//belli işlemleri yaptıkdan sonra geri değer döndürmesini istediğimiz zaman kullanırız alacağı parametrelere göre işlem yaptırırız.
{
   return veritipi;
}

Basit bir örnek yapalım yaz fonksiyonun içine ne yazarsak onu cmd ekranına yazsın.

static void yaz(string mesaj)//bir parametre almış gelecek mesaj.
{
   Console.Write(mesaj);//gelen mesajı yazdırdık.
}
static void Main(string[] args)
{
    yaz("Mesaj");//kullanımı
}

Girilen 2 sayının sonucunu yazdıran fonksiyonu yazalım.

static void topla(int s1, int s2)//2 parametre aldık.
{
     Console.Write("Sonuç:" + (s1 + s2).ToString());//gelen değerleri toplayıp yazdırdık.
}
static void Main(string[] args)
{
     Console.Write("1.sayı:");
     int s1 = int.Parse(Console.ReadLine());//klavyeden girilen sayıyı değişkene aktardık.
     Console.Write("2.sayı:");
     int s2 = int.Parse(Console.ReadLine());/klavyeden girilen sayıyı değişkene aktardık.
     topla(s1, s2);//değişkenleri parametre olarak girdik.
}

Şimdi geri değer döndüren bir fonksiyon yazalım girilen sayının faktörünü versin.

static long faktor(int deger)
{
   long sonuc = 1;
   for(int i=deger; i>1; i--)
   {
       sonuc *= i;
   }
   return sonuc;
}
static void Main(string[] args)
{
   long sayi = faktor(5);//değişkene aktararak kullanabiliriz.
   Console.WriteLine("Sonuç:"+sayi);
           /*Bu şekildede kullanabiliriz */
   Console.Write("Sonuç:" + faktor(10));
}

Buradan uygulamaları indirebilirsiniz.

Yorumlar
umut Ziyaretçi
merhabalar hocam benim istediğim basit bir şey yeni başladım... istediğim şey 1 ile 1 milyon arasında rastgele 1000 sayı atıp bunları küçükten büyüğe dizdirme

Cevapla

Ahmet Faruk Ulu Yönetici
Öncelikle boş bir dizi oluştur, sonrasında for döngüsü ile 0 dan 1000 e kadar for döngüsünü kur içerisine rastgele sayı tahmin etme fonksiyonunu kullanarak istediğin aralığı ver döngü içerisinde tahmin edilen sayıyı yukarda oluşturmuş olduğun diziye ekle push fonksiyonu ile döngü dışına çıkıp dizileri küçükten büyüğe sıralama fonksiyonu kullanarak istediğini yapmış olursun.
 
dinçer Ziyaretçi
Peki hocam ilgilendiğiniz için çok teşekkür ederim sağ olun var olun İNŞAALLAH... İyi çalışmalar hocam ALLAH a emanet olun.

Cevapla

Aygün Yıldız Yönetici
Rica Ederiz
 
dinçer Ziyaretçi
sa hocam öncelikle ilgilenip cevap yazdığınız için çok teşekkür eder saygılarımı sunarım... sağ olun var olun inşaALLAH. Ayrıca da mesajımın cevabını yazmanızı bekliyordum ama 1 gün sonra mesajıma cevap yazacağınızı tahmin etmiyordum mesajıma cevap vermeniz bu akşam aklıma geldi bir bakayım dedim çünkü unutmuştum bunun için sizden özür dilerim mesajınıza geç baktığım için... Hocam konuya dönersek demek istediğim şunlardı: bilgisayarımda CS_PrimaryAttack.cpp ve CS_PrimaryAttack.h bu 2 tane birbirine bağlantılı dosyalar var bu 2 birbirine bağlantılı dosyalarımdan farklı olan birbirine bağlantılı 2 tane daha dosyalarım var ama ben hepsini de deneyecem hocam bu header ve c++ 1. veya 2. farklı isimlerdeki grup dosyalarımdan (.cpp ve .h (grup dosyalarım) ) yararlanmak istiyorum nasıl? Onu da söyleyeyim hocam autohotkey diye bir mouse ve aynı zamanda da klavye makro programı var bu programda not defterine autohotkey programına göre internetten kodlar bulup kaydedip 2 tıkta derleme işlemi vardır bu programda... Derlenen program kendi kendine başlat çubuğunun sağ köşelerde kenarlarda çift tık ile çalışıyordur. Hocam bu Autohotkey programını size örnek bir program veya küçük bir ara konu olarak sundum... Şimdi... ben bu CS_PrimaryAttack.cpp ve CS_PrimaryAttack.h dosyalarını birleştirip tek bir program haline getirip başlat çubuğunun sağ köşe-kenarlarında çalıştırıp Counter-Strike oyununda da server'lara girip bir silah ile ateş edip örneğin ak47 ile 1 şarjörü boşaltırken ateş etme esnasında hedefin ortasına mermileri atmak istiyorum aynı öldükten sonra ki diğer oyuncuları izlediğim zaman onların hedefin ortasına 1 şarjörü mermileri dağılmadan boşalttıkları gibi... Birde benim kafamdaki bu .cpp ve .h dosyalarını derleyip arkaplanda program olarak çalıştırmak doğru bir sonuç verir mi tam çözümü bu mudur acaba? Benim ilk yazdığım sorum da cevabın %60 ını verdiniz umuyorum denemedim ama siz benden soruyu genişletilerek sormamı istemiştiniz bende yeterince genişleterek sorabildim mi acaba hocam yazarken daha da uzun sorular aklıma gelmişti de aklıma geldikçe buradan size sormak isterim sayın hocam şimdiden gene çok teşekkür ederim sağ olun var olun hocam Saygılar...

Cevapla

Aygün Yıldız Yönetici
Ne yapmak istediğinizi anladım fakat nasıl yapılacağına dair bir fikrim yok çünkü konu c++ girmiş bu nedenden dolayı yardımcı olamayacağım üzgünüm.
 
dinçer Ziyaretçi
Sa hocam öncelikle çalışmalarınızda başarılar dilerim... hocam benim bir problemim var yıllardır elimde void kodlar var, bir türlü derlemesinden tutun çalıştırmasına kadar beceremedim olmadı hepte başarısız ve hüsranla karşı karşıya kaldım counter strike ile ilgili onları bir küçük arkaplan uygulaması ile veya windows un arkaplanında çalıştırabilmem için hangi programı önerebilirsiniz ya da derlemek nasıl yapılır ve derlenen dosya nasıl çalıştırılır yardım edermisiniz hocam şimdiden çok teşekkürler hocam sizden en kısa sürede cevap bekliyorum iyi çalışmalar...

Cevapla

Aygün Yıldız Yönetici
As derleme isini zaten visual studio kendi yapıyor arka planda çalıştırmak içinde hide fonksiyonunu kullanman gerekiyor sorununu detaylı anlatabilirsen daha iyi yardımcı olmaya çalışırım.
 
Yorum Yaz
Cevap Yaz