#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;
}
|