Metodlar (diğer adıyla fonksiyonlar) birlikte belirli bir işlemi yerine getiren bir grup ifadeden oluşurlar. C# dilinde metod tanımlamaları şu yazılım kurala uygun olarak yapılır;
1 2 3 4
<Erişim tipi> <Geri döneceği değer tipi> <Metod adı>(Parametre listesi) { Metod kod bloğu }
Şu ana kadar irdelediğimiz tüm konuları içerecen kapsamlı bir hesap makinesi örneği yapalım. İşe fonksiyonlarımızı tanımlayarak başlayalım. Benim tasarladığım örnek;
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespaceMetodlar { internalclassProgram { // Hesap makinesi menüsünü kullanıcıya sunacağımız ve // seçim yapmasını isteyeceğimiz fonksiyon. // Geriye int tipinde kullanıcı seçimini göndereceğiz. (int) privatestaticintMenu() {
}
// Sayı giriş işlemlerini gerçekleştireceğimiz fonksiyon. // Geriye veri göndermiyoruz (void) privatestaticvoidSayiGirisi() {
}
// Bölme işlemini gerçekleştireceğimiz fonksiyon. // Geriye float tipinde sonuç değişkenini göndereceğiz. (float) privatestaticfloatToplama() {
}
// Bölme işlemini gerçekleştireceğimiz fonksiyon. // Geriye float tipinde sonuç değişkenini göndereceğiz. (float) privatestaticfloatCikarma() {
}
// Bölme işlemini gerçekleştireceğimiz fonksiyon. // Geriye float tipinde sonuç değişkenini göndereceğiz. (float) privatestaticfloatCarpma() {
}
// Bölme işlemini gerçekleştireceğimiz fonksiyon. // Geriye float tipinde sonuç değişkenini göndereceğiz. (float) privatestaticfloatBolme() {
}
// İşlem sonucundan sonra kullanıcıya yeni bir işlem // yapmak isteyip istemediğini sorup ona göre // programın akışını şekillendireceğimiz fonksiyon. // Geriye veri göndermeyeceğiz (void) privatestaticvoidYeniIslem() {
}
// Ana fonksiyonumuz. privatestaticvoidMain() {
} } }
Şimdi de değişkenlerimizi tanımlayalım, menümüzü ve ana fonksiyonumuzu şekillendirelim. Ben şöyle uyguladım;
// Hesap makinesi menüsünü kullanıcıya sunacağımız ve // seçim yapmasını isteyeceğimiz fonksiyon. // Geriye int tipinde kullanıcı seçimini göndereceğiz. (int) privatestaticintMenu() { int s = 0;
Console.WriteLine("--- İŞLEM MENÜSÜ ---"); Console.WriteLine("Toplama işlemi için 1'i,"); Console.WriteLine("Büyük sayıdan küçük sayıyı çıkarmak için 2'yi,"); Console.WriteLine("Çarma işlemi için 3'ü,"); Console.WriteLine("Büyük sayıyı küçük sayıya bölmek için 4'ü,"); Console.WriteLine("Çıkış için 0'ı giriniz.");
Console.Write("Seçiminiz: ");
// Kullanıcının girdiği değeri s değişkenimize atadık. s = Convert.ToInt32(Console.ReadLine());
// s değişkenini fonksiyonun çağrıldığı yere gönderdik. return s; }
// Sayı giriş işlemlerini gerçekleştireceğimiz fonksiyon. // Geriye veri göndermiyoruz (void) privatestaticvoidSayiGirisi() {
}
// Bölme işlemini gerçekleştireceğimiz fonksiyon. // Geriye float tipinde sonuç değişkenini göndereceğiz. (float) privatestaticfloatToplama() {
}
// Bölme işlemini gerçekleştireceğimiz fonksiyon. // Geriye float tipinde sonuç değişkenini göndereceğiz. (float) privatestaticfloatCikarma() {
}
// Bölme işlemini gerçekleştireceğimiz fonksiyon. // Geriye float tipinde sonuç değişkenini göndereceğiz. (float) privatestaticfloatCarpma() {
}
// Bölme işlemini gerçekleştireceğimiz fonksiyon. // Geriye float tipinde sonuç değişkenini göndereceğiz. (float) privatestaticfloatBolme() {
}
// İşlem sonucundan sonra kullanıcıya yeni bir işlem // yapmak isteyip istemediğini sorup ona göre // programın akışını şekillendireceğimiz fonksiyon. // Geriye veri göndermeyeceğiz (void) privatestaticvoidYeniIslem() {
}
// Ana fonksiyonumuz. privatestaticvoidMain() {
// seçim değişkenimiz int secim;
// ileride bir sorun oluşturmaması için // global değişkenlerimizi sıfırladık. sayi1 = 0; sayi2 = 0; sonuc = 0;
// Menu fonksiyonumuzu çağırdık ve gönderdiği değeri // secim değişkenimize atadık. secim = Menu();
// secim değişkenimize göre program akışımızı switch // yapısıyla ayırdık. switch (secim) { // kullanıcı 1 girdiyse; case1: Console.WriteLine("--- TOPLAMA İŞLEMİ ---");
// kullanıcıyı sayı girişi yapması için // SayiGirisi fonksiyonuna yönlendirdik. SayiGirisi();
// Toplama fonksiyonumuzu çağırıp sonucu ekrana yazdırdık. Console.WriteLine("Toplama sonucu: " + Toplama());
// Hesap makinesi menüsünü kullanıcıya sunduğumuz ve // seçim yapmasını istediğimiz fonksiyon. // Geriye int tipinde kullanıcı seçimini göndereceğiz. (int) privatestaticintMenu() { int s = 0;
Console.WriteLine("--- İŞLEM MENÜSÜ ---"); Console.WriteLine("Toplama işlemi için 1'i,"); Console.WriteLine("Büyük sayıdan küçük sayıyı çıkarmak için 2'yi,"); Console.WriteLine("Çarma işlemi için 3'ü,"); Console.WriteLine("Büyük sayıyı küçük sayıya bölmek için 4'ü,"); Console.WriteLine("Çıkış için 0'ı giriniz.");
Console.Write("Seçiminiz: ");
// Kullanıcının girdiği değeri s değişkenimize atadık. s = Convert.ToInt32(Console.ReadLine());
// s değişkenini fonksiyonun çağrıldığı yere gönderdik. return s; }
// Sayı giriş işlemlerini gerçekleştirdiğimiz fonksiyon. // Geriye veri göndermiyoruz (void) privatestaticvoidSayiGirisi() { // Kullanıcıdan birinci sayıyı girmesini istedik Console.WriteLine("Birinci sayıyı giriniz: ");
// Kullanıcının girdiği değeri uygun tipe dönüştürdük ve // sayi1 değişkenine atadık. sayi1 = Convert.ToSingle(Console.ReadLine());
// Kullanıcıdan ikinci sayıyı girmesini istedik Console.WriteLine("İkinci sayıyı giriniz: ");
// Kullanıcının girdiği değeri uygun tipe dönüştürdük ve // sayi2 değişkenine atadık. sayi2 = Convert.ToSingle(Console.ReadLine()); }
// İşlem sonucundan sonra kullanıcıya yeni bir işlem // yapmak isteyip istemediğini sorup ona göre // programın akışını şekillendirdiğimiz fonksiyon. // Geriye veri göndermiyoruz (void) privatestaticvoidYeniIslem() { char c; Console.WriteLine("Yeni bir işlem yapmak istiyor musunuz? (E/H)");
// kullanıcının girdiği değeri uygun formata dönüştürüp // c değişkenine atıyoruz. c = Convert.ToChar(Console.ReadLine().ToUpper());
// kullanıcının girdiği değeri kontrol ediyoruz. // eğer E girdiyse programı tekrar ana fonksiyona yönlendiriyoruz. if (c == 'E') { Console.WriteLine(""); Main(); } // başka bir değer girdiyse programı sonlandırıyoruz. else { Console.WriteLine("HOŞÇAKALIN..."); } }
// Ana fonksiyonumuz. privatestaticvoidMain() { // seçim değişkenimiz int secim;
// ileride bir sorun oluşturmaması için // global değişkenlerimizi sıfırladık. sayi1 = 0; sayi2 = 0; sonuc = 0;
// Menu fonksiyonumuzu çağırdık ve gönderdiği değeri // secim değişkenimize atadık. secim = Menu();
// secim değişkenimize göre program akışımızı switch // yapısıyla ayırdık. switch (secim) { // kullanıcı 1 girdiyse; case1: Console.WriteLine("--- TOPLAMA İŞLEMİ ---");
// kullanıcıyı sayı girişi yapması için // SayiGirisi fonksiyonuna yönlendirdik. SayiGirisi();
// Toplama fonksiyonumuzu çağırıp sonucu ekrana yazdırdık. Console.WriteLine("Toplama sonucu: " + Toplama());