1. sayfa (Toplam 1 sayfa)

C Programlama ile Sayı Tahmini Yapalım - Sıcak/Soğuk Oyunu

Gönderilme zamanı: 09 Tem 2023 00:52
gönderen admin
C Programlama ile sayı tahmini nasıl yapılır ? Sıcak-Soğuk Oyunu yapalım.

Kod: Tümünü seç

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
main()
{
srand(time(NULL));
int hak=5, t;
int rs = rand()%10;
printf("Rastgele Sayi : %d \n ",rs);
while(hak>0)
{
printf("Tahmin : "); scanf("%d",&t);
hak--;
if(rs==t)
{
printf("Tebrikler :) \n");
break;
}
else if(abs(t-rs)<=2)
{
printf("Cok Sicak \n Kalan Hakkiniz : %d \n",hak);
}
else if(abs(t-rs)<=4)
{
printf("Ilik \n Kalan Hakkiniz : %d \n",hak);
}
else if(abs(t-rs)<=6)
{
printf("Soguk \n Kalan Hakkiniz : %d \n",hak);
}
else
{
printf("Cok Soguk \n Kalan Hakkiniz : %d \n",hak);
}
}
printf("Rastgele Sayi : %d \n ",rs);
getch();
}
Ekran çıktısı :

Resim

Re: C Programlama ile Sayı Tahmini Yapalım - Sıcak/Soğuk Oyunu

Gönderilme zamanı: 09 Tem 2023 06:31
gönderen admin
do-while döngüsü ile Sayı tahmini nasıl yapılır ?

Kod: Tümünü seç

#include <stdio.h>
#include <time.h> 
#include <stdlib.h>
 
main(){
    int sayi, deneme=0;
    srand (time(NULL));
    int rastgele = rand() % 100;
    //printf("Atanan  sayi : %d\n", rastgele); 
    
    do{
        printf("Bir sayi giriniz : ");
        scanf("%d", &sayi);
        
        if(sayi < rastgele){
            printf("Sayiyi buyultun.\n");
        }
        else if(sayi > rastgele){
            printf("Sayiyi kucultun.\n");
        }
        deneme++;
    }
    while(sayi != rastgele);
    
    printf("\nTebrikler %d. denemede bildiniz!", deneme);
}

Kod: Tümünü seç

//printf("Atanan  sayi : %d\n", rastgele); 
Yukarıdaki kısımda isterseniz bildiri işaretini kaldırıp, hangi sayının rastgele atandığını belirtebilirsiniz.

Önce 0-100 arasında rastgele bir sayı ürettiriyoruz. Daha sonra klavyeden tahmin girişleri alıyoruz ve kullanıcının tahminiyle atanan sayı yani “rastgele” değişkeni aynı oluncaya kadar döngü dönmeye devam ediyor.

“deneme” değişkeniyle ise kullanıcının kaç tane deneme yaptığını buluyoruz.

Ekran çıktısı :

Resim

Re: C Programlama ile Sayı Tahmini Yapalım - Sıcak/Soğuk Oyunu

Gönderilme zamanı: 23 Eyl 2024 21:09
gönderen admin
### Alternatif bir üretim: ###

Kod: Tümünü seç

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

int main() {
    int tahmin, rastgeleSayi;
    
    // Rastgele sayı üretimi için seed ayarlama
    srand(time(NULL));
    rastgeleSayi = rand() % 100 + 1; // 1 ile 100 arasında rastgele bir sayı

    printf("1 ile 100 arasında bir sayı tahmin edin:\n");

    do {
        printf("Tahmininiz: ");
        scanf("%d", &tahmin);

        if (tahmin < rastgeleSayi) {
            printf("Daha yüksek bir sayı tahmin edin.\n");
        } else if (tahmin > rastgeleSayi) {
            printf("Daha düşük bir sayı tahmin edin.\n");
        } else {
            printf("Tebrikler! Doğru tahmin ettiniz: %d\n", rastgeleSayi);
        }
    } while (tahmin != rastgeleSayi); // Kullanıcı doğru tahmin edene kadar döngü devam eder

    return 0;
}
### Açıklama: ###

1. Rastgele Sayı Üretimi:
srand(time(NULL))
ile rastgele sayı üretimi için bir başlangıç değeri ayarlanır.
rand() % 100 + 1
ifadesi, 1 ile 100 arasında bir rastgele sayı üretir.
2. do-while Döngüsü: Kullanıcıdan tahmin alır ve bu tahmini kontrol eder. Kullanıcının tahmini doğru değilse, ona ipuçları verir (daha yüksek veya daha düşük).
3. Döngü Sonu: Kullanıcı doğru tahmin yaptığında döngü sona erer ve tebrik mesajı gösterilir.

Bu basit program,
do-while
döngüsünün nasıl kullanılacağını ve kullanıcı etkileşimi ile bir oyun oluşturmanın temelini göstermektedir.

### Ekran çıktısı: ###
Resim

Re: C Programlama ile Sayı Tahmini Yapalım - Sıcak/Soğuk Oyunu

Gönderilme zamanı: 24 Eyl 2024 15:08
gönderen trasmus
Programı biraz daha karmaşıklaştırmak için rastgele sayı üretim aralığı kullanıcı tarafından belirlenebilir. Örneğin pozitif 1-100 sayı aralığında en az 10 sayı içeren bir değer girilmesi istenebilir. "Tahmin hakkı sınırlaması olsun mu?" diye sorulabilir ve hak sayısı sorulabilir.