Dev C++ ile C Programlama (Sayı Tahmin Oyunu) - SOFTSAM

Breaking

About Software

14.11.2015

Dev C++ ile C Programlama (Sayı Tahmin Oyunu)


Bu makelemizde C dili ile sayı tahmin oyunu nasıl yapılır nelere ihtiyac vardır gibi bazı durumları inceleyip kodları en sona ekleyeceğim.
Öncelikle programa başlamadan önce kütüphaneleri ekleriz bildiğiniz üzere C diline yeni başlamışsanız ilk olarak iki kütüphane eklersiniz;


#include stdio.h
#include  stdlib.h


Şeklinde bu iki kütüphaneyi ekledikten sonra programımızda C dilinin bir çok metofunu kullanabiliyorduk bu metodlar arasında rand() yani Random(Rastgele) sayı üretme metoduda mevcut.Bizim yapacağımız sayı tahmin oyunundada bilgisayar hafızadan bir sayı tutacak ve kullanıcı bunu 5 hakta tahmin etmeye çalışacak.
rand() Metodunun çalışma matığını kısaca açıklayacak olursak bir kod satırında kullanımı şu şekildedir:

#include  stdio.h
#include  stdlib.h
int main(){
 int rastgelesayi;
 rastgelesayi=rand();

}

şeklinde bir kullanımı vardır.Fakat sizinde farkedeceğiniz üzere program her çalıştığında aynı sayıyı size gösteriyor.Bunun önüne geçmek için bir başka metodumuz olan srand(time(NULL)) metodumuzu kütüphanesini dahil ederek çağırmamız gerekir.Bunu yapmamızda ki amacımız her seferinde hafızadaki sayıyı değiştirmesi için sistem saatini tetiklemektir.Random sayı üretmenin mantığı budur.Bilgisayar kendisi herhangi bir yerden yardım almadan bir iş yapamayacağından referans olarak sistem saatini alır.

#include stdio.h
#include  stdlib.h
int main(){
 int rastgelesayi;
 srand(time(NULL));
 rastgelesayi=rand();

}


Artık her seferinde farklı bir değer alacağız.Ama size bu kadar büyük sayılar lazım değil bir aralık istiyorsunuz.Örneğin; 0 ile 100 arası gibi.Bunun için rand() metodumuza bir kaç ekleme yapalım.

0+rand()%100; sizin için 0 ile 100 arasındaki sayıları bulacaktır.Bunun mantığı şu şekildedir.
"+" işaretinden önceki sayı başlangıc sayısıdır."%" dan sonraki sayı ise "+" işaretinden önceki sayı ile toplandığı zaman size son sınırı verir.
Örneğin;
5+rand()%15;
Bu işlem bize 5 ile 20 arasında bir sayı tutar. 
-5+rand()%10; 
Bu işlem bize -5 ile 5 arasında bir sayı tutar.

İlk yazdığımızda 0+rand()%100; şeklinde yazmıştık.Eğer başlangıç değeri sıfır ise direk olarak 
rand()%100; şeklinde sadece sınırı belirterek oluşturabilirsiniz. 

Şimdi programımıza göz atalım:


#include stdio.h
#include  stdlib.h
#include  time.h
#def SOFTSAM

int main(int argc, char *argv[]) 
{
  int sayi,tahmin,hak=0;
   
  srand(time(NULL));
   sayi=rand()%100;

   do {
 hak++;

 printf("Tahmininizi giriniz");

 scanf("%d",&tahmin);

 if(sayi>tahmin&&hak<5 amp="" font="" hak="" nbsp="" tahmin="">

printf("biraz daha kucuk bir sayi giriniz\n");

 else if(sayi

 printf("biraz daha buyuk bir sayi giriniz\n");

 else if(sayi==tahmin)

 printf("%d. hakkınızda bildiniz",hak);

 else

 printf("Bilemediniz");

}while(tahmin!=sayi&&hak<5>

getch();
return 0;
}

Öncelikle kütüphaneleri dahil ettik ve ardından değişkenlerimizi tanımladık. Random bir sayı ürettirip döngümüzün içinde kullanıcımız dan aldığımız sayıyla her seferinde karşılaştırdık eğer doğru ise bildiniz deyip döngüden çıkarttık bilemediği zaman direk bilemediniz demedik 5 hakkını kullanmasını sağlayıp duruma göre kullanıcıyı yönlendirdik büyük sayı gir küçük sayı gir şeklinde.5 hakkını da kullandıktan sonra kullanıcıya bilemediniz deyip programdan çıktık. 




Teşekkürler....
Sorularınız için Facebook , Twitter yada Google+ tan ulaşabilirsiniz.

1 yorum: