C# Ödev (Yarına) Acil Yardım :(

kadiryel1

Kayıtlı Üye
Katılım
20 Ocak 2014
Mesajlar
443
Tepkime puanı
0
Puan
0
Konum
Edirne
Web sitesi
paypal.me
merhaba yarın için bir ödevim var soru şu :
Bilgisayar rakamları birbirinden farklı 4 haneli bir sayı tutacak. (1023 9876 arasında)
Kallanıcı bu sayıyı 10 tahminde bilmeye çalışacak.
-Kullanıcının istenen sınırlar dışında sayı girmesi yasak.
-Kullanıcın aynı rakamdan birden fazla sayı içeren sayı girmesi yasak.
-Bilgisayar kullanıcının doğru yerde bildiği sayı için +
-Bilgisayar kullanıcının yanlış yerde bildiği sayı için -
cevabı verecek
Örneğin:
Bilgisayar 2635 tuttu

Kullanıcı tahmini Bilgisayar cevabı
7098 0
9634 +2
3104 -1
4653 +1 -2
2635 +4

------
Yapamadığım yerlerin başına"-" koydum epey fazla
biggrin.gif
ne kadar araştırmaya çalışsamda nasıl arayacağımı dahi çözemedim bu sefer bir yardım alıyım cevabı inceleyerek öğrenirim artık yardımcı olacak herkese çok teşekkürler.
smile.gif
 
Aslında basit hocam biraz mantık yürüterek yapılabilir. Zaten çoğunda if-else kullanacaksın başka bir şey yok.
 
Random la sayı alacan if deyimi kullancan sonra replace liyecen tekrar if deyimi kullancan oho bu nasıl hoca :D :D
 
şunda ufak değişikliklerle istediğinize uyarlayabilirsiniz;

Help For A Number Guessing Game - C# | Dream.In.Code

Aslında basit hocam biraz mantık yürüterek yapılabilir. Zaten çoğunda if-else kullanacaksın başka bir şey yok.

Bu derste kod yerine mantık üretemeyen tek benim heralde. :D

Random la sayı alacan if deyimi kullancan sonra replace liyecen tekrar if deyimi kullancan oho bu nasıl hoca :D :D

sanırım tam olarak istediğimi anlatamadım aslında sayı tahmin oyunu gibi oraya kadar yaptım ama hoca fazladan kurallar eklemiş.araştırdım tabiki ama araştırmam sadece ilk 2 iki satırın sorusunu yanıtladı bunun gibi başka soru bulamadım internette örneğin nasıl kullanıcının girdiği her sayıyı ayrı değerlendircek te bilgisayarın tuttuğu sayının 2. basamağıyla öğrencinin tuttuğu sayının 2. basamağını karşılaştırcak çözemedim
 
İlk mesajta anlattıklarından hiçbişey anlamadım. Ama son sorduğun şeyin cevabı

int sayi ;
float binler , yuzler , onlar , birler ;
binler= ( sayi / 1000 ) ;

sayi = sayi – (binler* 1000 ) ;
yuzler= sayi / 100 ;

sayi = sayi – ( yuzler* 100 ) ;
onlar= sayi/10 ;

sayi = sayi – ( onlar* 10 ) ;
birler = sayi ;

}

Yukarıdaki şekilde basamak değerleri bulunur sayıların. Senin ilacın bu mantıkla metod kullanmak.
Ardından tutulan sayıları bu metoda gönderip her basamağın değerini return ile metoddan geri almak.
 
Son düzenleme:
merhaba yarın için bir ödevim var soru şu :
Bilgisayar rakamları birbirinden farklı 4 haneli bir sayı tutacak. (1023 9876 arasında)
Kallanıcı bu sayıyı 10 tahminde bilmeye çalışacak.
-Kullanıcının istenen sınırlar dışında sayı girmesi yasak.
-Kullanıcın aynı rakamdan birden fazla sayı içeren sayı girmesi yasak.
-Bilgisayar kullanıcının doğru yerde bildiği sayı için +
-Bilgisayar kullanıcının yanlış yerde bildiği sayı için -
cevabı verecek
Örneğin:
Bilgisayar 2635 tuttu

Kullanıcı tahmini Bilgisayar cevabı
7098 0
9634 +2
3104 -1
4653 +1 -2
2635 +4

------
Yapamadığım yerlerin başına"-" koydum epey fazla
biggrin.gif
ne kadar araştırmaya çalışsamda nasıl arayacağımı dahi çözemedim bu sefer bir yardım alıyım cevabı inceleyerek öğrenirim artık yardımcı olacak herkese çok teşekkürler.
smile.gif
Bu şekil olur mu ?

2015-02-16_01h53_56.png


private void button1_Click(object sender, EventArgs e)
{
string sayi;

sayi = textBox1.Text;

string kontrol = textBox3.Text;
for (int i=0;i<4;i++)
{
string kelime = sayi.ToString();
string kontrolYAP = kontrol.ToString();
if(kelime==kontrolYAP)
{
textBox2.Text = textBox2.Text + "+";
}
else
{
textBox2.Text = textBox2.Text + "-";
}
}
}

private void Form1_Load(object sender, EventArgs e)
{

Random rnd = new Random();
int rastgele = rnd.Next(1023, 9876);
textBox1.Text = Convert.ToString(rastgele);
}


---------- Spam Engelliyici 02:09 ---------- Önceki Mesaj 01:54 ----------

sanırım tam olarak istediğimi anlatamadım aslında sayı tahmin oyunu gibi oraya kadar yaptım ama hoca fazladan kurallar eklemiş.araştırdım tabiki ama araştırmam sadece ilk 2 iki satırın sorusunu yanıtladı bunun gibi başka soru bulamadım internette örneğin nasıl kullanıcının girdiği her sayıyı ayrı değerlendircek te bilgisayarın tuttuğu sayının 2. basamağıyla öğrencinin tuttuğu sayının 2. basamağını karşılaştırcak çözemedim

diyelim pcnin sayısı :1598
benim yazdığım sayı:2535
Gözle baktığın zaman + yazması gereken yer 2.rakam dimi
Bunu pcde nasıl karşılaştırcaz işte böyle
0--> 1.rakam
1-->2.rakam
2-->3.rakam
3-->4.rakam

Kod:
private void button1_Click(object sender, EventArgs e)
        {
           
           
           string sayi = textBox1.Text; //textbox1de rastgele tutulan sayıyı alıyoruz.
            
            string kontrol = textBox3.Text; //bizim girdiğimiz sayıyı alıyoruz 
           for (int i=0;i<4;i++) //burada  i 4ten küçük olduğu sürece i ye +1 ekliyoruz ve döngüye sokmus oluyoruz.
           {
            string   kelime = sayi[i].ToString();//Burda i diyelim 1 pcnin girdiği 2.rakamı buluyoruz
            string kontrolYAP = kontrol[i].ToString();//burdada kendi girdiğimiz 2.rakamı bulduk 
               if(kelime==kontrolYAP)//burdada karşılaştırıyoruz.
               {
                   textBox2.Text = textBox2.Text + "+";
               }
               else
               {
                   textBox2.Text = textBox2.Text + "-";
               }
           }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
//Rastgele sayımızı alıyoruz ve textbox1 e yazdırıyoruz.
            Random rnd = new Random();
            int rastgele = rnd.Next(1023, 9876);
            textBox1.Text = Convert.ToString(rastgele);
        }
    }
}
 
Bu şekil olur mu ?

2015-02-16_01h53_56.png





---------- Spam Engelliyici 02:09 ---------- Önceki Mesaj 01:54 ----------



diyelim pcnin sayısı :1598
benim yazdığım sayı:2535
Gözle baktığın zaman + yazması gereken yer 2.rakam dimi
Bunu pcde nasıl karşılaştırcaz işte böyle
0--> 1.rakam
1-->2.rakam
2-->3.rakam
3-->4.rakam

Kod:
private void button1_Click(object sender, EventArgs e)
        {
           
           
           string sayi = textBox1.Text; //textbox1de rastgele tutulan sayıyı alıyoruz.
            
            string kontrol = textBox3.Text; //bizim girdiğimiz sayıyı alıyoruz 
           for (int i=0;i<4;i++) //burada  i 4ten küçük olduğu sürece i ye +1 ekliyoruz ve döngüye sokmus oluyoruz.
           {
            string   kelime = sayi[i].ToString();//Burda i diyelim 1 pcnin girdiği 2.rakamı buluyoruz
            string kontrolYAP = kontrol[i].ToString();//burdada kendi girdiğimiz 2.rakamı bulduk 
               if(kelime==kontrolYAP)//burdada karşılaştırıyoruz.
               {
                   textBox2.Text = textBox2.Text + "+";
               }
               else
               {
                   textBox2.Text = textBox2.Text + "-";
               }
           }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
//Rastgele sayımızı alıyoruz ve textbox1 e yazdırıyoruz.
            Random rnd = new Random();
            int rastgele = rnd.Next(1023, 9876);
            textBox1.Text = Convert.ToString(rastgele);
        }
    }
}
allah razı olsun ancak bu kadar iyi olabilirdi :eek: şu [] içine yazdıklarımızın ana başlığı nedir internette onu bir araştırayım hoca anlatmıştı ama ismi aklımda kalmamış :D
 
Kişiselleştirme

Tema editörü

Ayarlar Renkler

  • Mobil kullanıcılar bu fonksiyonları kullanamaz.

    Alternatif header

    Farklı bir görünüm için alternatif header yapısını kolayca seçebilirsiniz.

    Görünüm Modu Seçimi

    Tam ekran ve dar ekran modları arasında geçiş yapın.

    Izgara Görünümü

    Izgara modu ile içerikleri kolayca inceleyin ve düzenli bir görünüm elde edin.

    Resimli Izgara Modu

    Arka plan görselleriyle içeriğinizi düzenli ve görsel olarak zengin bir şekilde görüntüleyin.

    Yan Paneli Kapat

    Yan paneli gizleyerek daha geniş bir çalışma alanı oluşturun.

    Sabit Yan Panel

    Yan paneli sabitleyerek sürekli erişim sağlayın ve içeriğinizi kolayca yönetin.

    Box görünüm

    Temanızın yanlarına box tarzı bir çerçeve ekleyebilir veya mevcut çerçeveyi kaldırabilirsiniz. 1300px üstü çözünürler için geçerlidir.

    Köşe Yuvarlama Kontrolü

    Köşe yuvarlama efektini açıp kapatarak görünümü dilediğiniz gibi özelleştirin.

  • Renginizi seçin

    Tarzınızı yansıtan rengi belirleyin ve estetik uyumu sağlayın.

Geri