Şimdi Ara

Neden doğru çıktıyı vermiyor?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
72
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Kod

    Yığını:
    using System; class Program { static void Main() { string yes = "e"; Console.WriteLine("Yeni bir bilmece ister misin? e/h"); string input = Console.ReadLine().Trim(); string cevap2 = "kaplumbağa"; string tahmin2 = ""; int tahminSayisi2 = 0; int tahminSiniri2 = 3; bool tahminHakkiBitti2 = false; if (string.Equals(yes, input, StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("İşte yeni bilmecen: "); Console.WriteLine("Karşıdan gördüm bir taş yanına vardım dört ayak bir baş."); Console.WriteLine("Yine 3 tahmin hakkın olduğunu unutma."); while (!string.Equals(tahmin2, cevap2, StringComparison.OrdinalIgnoreCase) && !tahminHakkiBitti2) { if (tahminSayisi2 < tahminSiniri2) { Console.WriteLine("Tahminini gir: "); tahmin2 = Console.ReadLine().Trim(); tahminSayisi2++; Console.WriteLine($"DEBUG: tahminSayisi2 = {tahminSayisi2}, tahmin2 = '{tahmin2}'"); if (tahminSayisi2 == 1 && !string.Equals(tahmin2, cevap2, StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("Yanlış tahmin. 2 tahmin hakkın daha var."); Console.WriteLine("İşte sana bir ipucu: Bilmecenin cevabı bir hayvan."); } else if (tahminSayisi2 == 2 && !string.Equals(tahmin2, cevap2, StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("Yanlış tahmin. Son bir tahmin hakkın kaldı. İyice düşün."); Console.WriteLine("İşte sana bir ipucu daha: Cevap 4 heceli."); } else if (tahminSayisi2 == 3 && !string.Equals(tahmin2, cevap2, StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("Yanlış tahmin. Hiç hakkın kalmadı."); tahminHakkiBitti2 = true; } } else { tahminHakkiBitti2 = true; } } if (string.Equals(tahmin2, cevap2, StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("Doğru cevap! Tebrikler."); } else if (tahminHakkiBitti2) { Console.WriteLine("Bilmecenin doğru cevabı: kaplumbağa."); } } else { Console.WriteLine("Tamam o zaman. Görüşürüz."); } } }

    İkinci bilmecenin cevabını kaplumbağa olarak girdiğim zaman

    “Doğru cevap! Tebrikler.” yerine

    “Yanlış tahmin. 2 tahmin hakkın daha var.

    İşte sana bir ipucu: Bilmecenin cevabı bir hayvan.” çıktısını veriyor. Neden?








  • Kodları okumadım çok uzun malesef :( Ama problemin neden kaynaklandığını anlamak için bazı debug adımları atılabilir. Kodun mantığını ve özellikle debug mesajını ekleyerek tekrar çalıştırmak, problemi bulmak için iyi bir yöntemdir.


    Yani sizin anlayacağınız dilde yazarsak console mesajalrını arttırın her işlem içinki detaylandırınca nerde patlıyor görürsünüz.


    Tabi breakpoint hayat kullanır onuda kullanmayı alışkanlık haline getirin eğer burada kullanabilyorsanız mutlaka kullanın sorunu tespit etmek için.




    < Bu mesaj bu kişi tarafından değiştirildi OzMeN OzzY -- 5 Haziran 2024; 17:8:28 >
  • Sorun ğ harf olabilir. içinde Türkçe harfler olmayan bir string'le dene, çalışıyorsa bu kısma odaklan.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.