Programlamada Else Hatası

alican1998

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

 
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.
 
Temel C# bilgin olmadan kopyala yapıştır bile bir işe yaramaz.
 
else (sayi>0) komutunu else if (sayi>0) olarak değiştirin.
 
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();
        }



    }
}
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…