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();
}
}
}