Ümit YORMAZ Kişisel Blog

25 Kasım 2013 Pazartesi

C#’ta Tahmin Programı

Bu programda biLgisayar bir sayı tutacak bunu kullanıcı tahmin etmeye çalışacak. Program basit ancak bazı özellikler ekleyip zenginleştirmeye çalışacağız.


//değişkenleri oluşturuyoruz
int tahmin, rastgele;
//random metodunu çağırıyoruz
Random rnd = new Random();
//random (rastgele) değer atıyoruz
rastgele = rnd.Next(100);
//döngü içine alıyoruz
for (int i = 0; i == 0; )
{
    Console.Write("Tamininizi giriniz=");
    //kullanıcıdan tahminini alıyoruz
    tahmin = Convert.ToInt32(Console.ReadLine());
    //şartımızı oluşturuyoruz
    if (tahmin == rastgele) //eğer tahmin rastgele tutulan sayıya eşitse
    {
        Console.WriteLine("doğru tahmin");
        i++;
    }
    else //değilse
    {
        Console.WriteLine("Yanlış tahmin");
    }
}


0 ile (0 dahil) 100 arası (100 dahil değil) rastgele bir sayıyı tutturuyoruz. Bu sayıyı bilemediğinde ekrana “Yanlış tahmin” yazıyor ve tekrar tahmin etmesini istiyor. Bildiğinde ekrana “doğru tahmin” yazıyor ve programdan çıkıyor. Doğru tahmin yapana kadar programda kalacaktır. Bi yönlendirme olmadığı için Bu durumda kullanıcı bütün sayıları ekrana yazdırabilir. Bu durumu kurtarmak için kullanıcıya girdiği sayıya göre “aşağı” ya da “yukarı” tahmin yürütmesini söylememiz lazım.


int tahmin, rastgele;
Random rnd = new Random();
rastgele = rnd.Next(100);
for (int i = 0; i == 0; )
{
    Console.Write("Tamininizi giriniz=");
    tahmin = Convert.ToInt32(Console.ReadLine());
    if (tahmin == rastgele)
    {
        Console.WriteLine("doğru tahmin");
        i++;
    }
    else
    {
        Console.WriteLine("Yanlış tahmin");
        //Yeni kodlarımızı giriyoruz
        if (tahmin>rastgele) //eğer tahmin rastgele seçilen sayıdan büyükse
        {
            Console.WriteLine("Aşağı");
        }
        else //değilse (tahmin rastgele seçilen sayıdan küçükse)
        {
            Console.WriteLine("Yukarı");
        }
    }
}



Yeni kodlarımız sayesinde kullanıcıya ipucu veriliyor. Bu da tahmini biraz daha kolaylaştırıyor.
Tahmin olayını kolaylaştırdık Biraz da zorlaştıralım. Mesela kullanıcının 10 kere tahmin etme hakkı olsun ve tahmin ettiği zaman kaçıncı tahmininde tahmin ettiğini ekrana yazdıralım.


int tahmin, rastgele;
Random rnd = new Random();
rastgele = rnd.Next(100);
//sadece döngümüzde değişiklik yapıyoruz.
for (int i = 0; i < 10; i++)
{
    Console.Write("Tamininizi giriniz=");
    tahmin = Convert.ToInt32(Console.ReadLine());
     
    if (tahmin == rastgele) 
    {
        //doğru durumunu ekrana yazdırıyoruz
        Console.WriteLine("{0}.tamininizde doğru bildiniz",i+1);
        //doğru olduğunda döngüyü bitirmemiz gerektiği için 'i' değerine 10 veya üstü bir sayı atıyoruz
        //veya break; komutu kullanılabilir.
        i = 10;
    }
    else
    {
        //yanlış durumunu ekrana yazdırıyoruz
        Console.WriteLine("{0}. kez yanlış tahmin ettiniz",i+1);
        if (tahmin>rastgele)
        {
            Console.WriteLine("Aşağı");
        }
        else
        {
            Console.WriteLine("Yukarı");
        }
    }
}


‘for ‘ döngüsünü değiştirerek programımızı oluşturuyoruz. for döngüsünü değiştirmemizin sebebi sayaç olayını gerçekleştirmek. Kullanıcı her defasında giriş yaptığında (tahmin yanlışsa) for dönecektir ve sayaç (‘i’) artacaktır. Burada sadece kaçıncı tahmin olduğunu ve 10 defadan fazla giriş yapmaması için for döngüsü kullanılmıştır. Doğru tahmin edildiği zaman döngünün bitmesi için ‘i’ değişkenine 10 ve 10′dan büyük değer atadık.
Programda tahmin aralığını istediğiniz gibi ayarlayabilirsiniz, ‘rnd.Next(x)’ x yazan yere istediğiniz değeri girebilirsiniz aynı zamanda en fazla kaç kere tahmin ettikten sonra programdan çıkış yapılabileceğini de ayarlayabilirsiniz (ör. ‘for (int i = 0; i < x; i++)' x yerine herhangi bir değer yazabilirsiniz.)

Hiç yorum yok:

Yorum Gönder

Yorum Yaz...