Müzik ve Teknolojiyle arası iyi olan bir zat-ı muhterem.

C İle Basit Matematik Oyunu
1 sene önce 656 okunma C Programlama

Programlama dersinde yaptığım ödevleri bloğum üzerinde paylaşmaya karar verdim. Çünkü bu ödevlerle işim bitti sonuçta dersi güzel bir notla geçtim 🙂 Programlama öğrenmeye çalışan arkadaşlara yardımcı olması için paylaşıyorum.

Bu yazıda paylaşacak olduğum oyun (aslında pek de oyun sayılmaz) çarpma işlemi yaparak ilerliyor.

  • Kullanıcıdan ilk etapta 3 adet tamsayı değişkeni almanız isteniyor.
  • Bunlardan 1.si başlangıç değeri, 2.si bitiş değeri, 3.sü çarpan değeri olsun.
  • Bitiş değeri her zaman başlangıç değerinden büyük olmalıdır.
  • Çarpan değeri 2 ile 10 tam sayı değerleri arasında olmalıdır.
  • Kullanıcıdan ilk olarak başlangıç değeri ve çarpan değerinin çarpma işlemine göre sonucunu hesaplaması ve ekrana yazması istenir.
  • Eğer kullanıcı sonucu doğru hesaplamışsa sonuç değeriyle çarpan değerinin tekrar çarpımını hesaplaması istenir.
  • Eğer kullanıcı sonuç değerini yanlış hesaplamışsa aynı işlemi tekrar hesaplaması istenir ve ekrana kalan hesaplama hakkının sayısını yazdırmanız gerekmektedir. Kullanıcının toplam 3 kez yanlış hesaplama hakkı bulunmalıdır.
  • Bu şekilde bitiş değerini aşana kadar çarpma işlemini devam ettirmesi gerekir.
  • Eğer kullanıcı 3 kez yanlış hesap yapılırsa ekrana “Oyunu kaybettiniz” diye uyarı verilecektir.
  • Eğer kullanıcı hatasız bir şekilde bitiş değerine ulaşılırsa veya bitiş değerinden yüksek bir değer hesaplanırsa “Oyunu kazandınız” diye ekrana yazı yazılacaktır.

Yukarıdaki adımları okuduysanız artık oyunun mantığını anlamışsınızdır. Aşağıda da oyunun kodları bulunuyor. Açıklama satırları ile neyin ne işe yaradığını zaten anlattım. Umarım yardımcı olur…

C İle Çarpma Oyunu:

/*
Kodlayan: Emirhan Bülbül
Web site: www.emirhanbulbul.com
C Programlama Örnekleri
C İle Basit Matematik Oyunu
*/


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
	int baslangic=0; /* baslangic degeri*/
	int bitis=0; /* bitiş degeri*/
	int carpan=0; /* çarpan degeri*/
	int hak = 3; /* 3 yanlış cevap hakkı var*/
	
	/* kullanıcıdan değerleri alıyoruz*/
	printf("Baslangic degerini giriniz:");
	scanf("%d",&baslangic);
	printf("Bitis degerini giriniz:");
	scanf("%d", &bitis);
	printf("Carpan degerini giriniz:");
	scanf("%d", &carpan);
	
	/* bitiş değeri başlangıc değerinden küçük veya eşit olursa döngüyü sürekli tekrar et*/	
	while(bitis<=baslangic){
	printf("Bitis degeri baslangic degerinden buyuk olmalidir!!!\n");
	printf("Baslangic degerini giriniz:");
	scanf("%d",&baslangic);
	printf("Bitis degerini giriniz:");
	scanf("%d", &bitis);
	}
	
	/* çarpan değeri 2'den küçük veya eşit, 10'dan büyük veya eşit olduğu müddettçe döngüyü tekrar et */	
	while(carpan<=2 || carpan>=10){
		printf("Carpan degerini giriniz (2 ile 10 arasinda olmalidir.): ");
		scanf("%d", &carpan);
	}
	
	/* baslangic değerini sonuc değerine atar. */
	int sonuc = baslangic;
	/* kullanıcının girdiği sonucu sonuc2 olarak kaydeder. */
	int sonuc2 = 0;
   
    /* hakkımız 0'dan büyük oldukça döndür*/
    while(hak>0){
		printf("%d * %d isleminin sonucu kactir ? ",sonuc, carpan);
		scanf("%d",&sonuc2);
		
				/* kullanıcının girdiği sonuçla asıl sonuç eşleşmezse hakkı 1 azalt ve sonucu tekrar girmesini iste */
				if(sonuc2 != sonuc * carpan){
					hak--;
					printf("Cevap yanlis!!! Kalan hak:%d\n",hak);
					continue;
					}
					
		/* cevap doğruysa sonuçla çarpanı tekrar çarp ve bunu sonuca aktar */
		sonuc=sonuc*carpan;
		/* eğer sonuç değeri bitiş değerinden büyük olursa oyunu kazandık. */
		if(sonuc>bitis){
		printf("Oyunu Kazandiniz!!!"); 	 return 0;
        }
    
    }
    /* hak>0 sağlanmazsa direk oyunu kaybettiniz yazar. */
    printf("Oyunu kaybettiniz!!!");
    return 0;
}

Ahali ne demiş ?

Etiketler

, , , ,
   

Ben Kimim ?

Bilgi Ben Emirhan. Burası da benim kişisel mecram. Epeydir web sitesi işleriyle uğraşıyorum... Her neyse bu kadar bilgi yeter. Devamı için tam da şu yandaki butona tıkla. Devamı...
Bağlantılar: Çağrı Şahin kimdir Forvetbet Giriş adresi çankaya escort beylikdüzü escort gaziantep escort gaziantep escort

Neler Biliyorum ?

WordPress 60% Complete
C/C++ 95% Complete
HTML 80% Complete
CSS 80% Complete

Copyright © 2014 Tüm hakları tarafımca saklanmaktadır.