GÖZ YANILMALARI
 
#include #include #include #include /*4 haneli rastgele sayı bulan fonk.*/ int frastgele() { int rastgele,i,j,hanerast[4],kontrol; srand((unsigned)time(NULL)); rastgele=rand()%10000; if(rastgele<1000) rastgele+=1000; /*rastgele sayının analizi*/ for(i=0;i<4;i++) hanerast[3-i]=(rastgele%(int)pow(10,i+1))/(int)pow(10,i); /*hanelerin farklılığının sağlanması:*/ kontrol=0; while(kontrol==0) { kontrol=1; for(i=0;i<4;i++) for(j=i+1;j<4;j++) if(hanerast[i]==hanerast[j]) { kontrol=0; } /*eşitlik varsa kontrol 0 olur.*/ if(kontrol==0) { srand((unsigned)time(NULL)); rastgele=rand()%10000; if(rastgele<1000) rastgele+=1000; for(i=0;i<4;i++)/*yeni sayının analizi*/ hanerast[3-i]=(rastgele%(int)pow(10,i+1))/(int)pow(10,i); } } /*hane eşitliği engellendi*/ return rastgele; } int main() { int rastgele,giris,i,hanerast[4],hanegiris[4],j,arti=0,eksi=0,puan=30; char yanit='e'; /*rastgele:rastgele bulunan sayı giris:giris yapılan sayi hanerast ve hanegiris:rastgele ve giris in haneleri arti ve eksi:artı ve eksi sayaçları i,j,k:döngü değişkenleri kontrol:hanelerin eşitliğini kontrol için kontrol değişkeni kontrol 1 ise hane eşitliği söz konusudur.*/ rastgele=frastgele(); /*rastgele sayının analizi*/ for(i=0;i<4;i++) hanerast[3-i]=(rastgele%(int)pow(10,i+1))/(int)pow(10,i); while(yanit=='e') { printf("4 haneli sayı giriniz(haneleri farklı)n"); scanf("%d",&giris); if(giris==rastgele) { printf("Tebrikler sayıyı buldunuz! Puanınız: %dn",puan); printf("Tekrar oynamak ister misiniz?e/hn"); getchar(); scanf("%c",&yanit); if(yanit=='e') { puan=30; rastgele=frastgele(); /*rastgele sayının analizi*/ for(i=0;i<4;i++) hanerast[3-i]=(rastgele%(int)pow(10,i+1))/(int)pow(10,i); } } else { puan-=1; arti=0;eksi=0; /*giriş sayısının analizi*/ for(i=0;i<4;i++) hanegiris[3-i]=(giris%(int)pow(10,i+1))/(int)pow(10,i); /*+ sayısının hesaplanması*/ for(i=0;i<4;i++) if(hanerast[i]==hanegiris[i])arti+=1; /*toplam eşit hanelerin sayısı ve bundan artılar çıkarılarak eksilerin sayısının bulunması*/ for(i=0;i<4;i++) for(j=0;j<4;j++) if(hanerast[i]==hanegiris[j])eksi+=1; eksi-=arti; printf("%d+ %d-n",arti,eksi); } } return 0; }
 
   
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol