Programlamada Else Hatası

alican1998

Hectopat
Katılım
17 Ocak 2015
Mesajlar
44
Daha fazla  
Cinsiyet
Erkek
Else hatasından bıktım.

Adsız.jpg
 
Son düzenleyen: Moderatör:
Merhaba dostum, else kısmına parantez açıp içerisine bir komut yazamazsın. Zaten program if kısmında olmayan bir şeyi else kısmında arayacaktır. Ancak birkaç farklı olasılıktan bahsediyorsan orada "else if" tanımlayarak içerisine olayı yazabilirsin. :)
 
Kodun düzenlenmiş hali aşağıda. Bir inceleyin isterseniz. Küçük bir rica. Bir dahaki sefere kod paylaşımı yaparken ekran görüntüsü paylaşmak yerine metin olarak yani Visual C# editörünüzdeki kodu kopyalayıp forum editörüne yapıştırırsanız feci güzel olur :)

Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static double Faktoriyel(int n)
        {
            if (n == 0)
                return 1;
            else
                return n * Faktoriyel(n - 1);
        }

        static void Main(string[] args)
        {
            /*
              Her ne kadar C# programlama dili "goto" anahtar kelimesini kullanmamıza müsaade etse de
              kesinlikle "goto" yapısında kod yazmıyoruz. Sadece spaghetti kodları buradan rahmetle anıyoruz :)
            */
            Console.Write("Bir sayı giriniz: ");
            int sayi = Convert.ToInt32(Console.ReadLine());

            if (sayi < 0)
            {
                Console.WriteLine("Sayıların faktoriyeli hesaplanmaz.");
            }
            //Direkt else kullanımı mümkün ama biz yine de else if kullanalım
            else if(sayi==0)
            {
                double sonuc = Faktoriyel(sayi);
                Console.WriteLine("{0}!={1}",sayi,sonuc);
            }           
            else//sayi>0 durumu
            {
                double sonuc = Faktoriyel(sayi);
                Console.WriteLine("{0}!={1}", sayi, sonuc);
            }
           
            Console.ReadKey();
        }



    }
}
 
Uyarı! Bu konu 11 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı