Quiz oynatma
Run metoduyla soruları sırayla sormayı öğrenirsin.
Quiz oynatma
Bu derste Quiz sınıfına Run metodu ekleyeceğiz. Bu metot bir string[] cevap listesi alır, her soruyu gezerek cevabı karşılaştırır ve doğru/yanlış yazdırır.
for (int i = 0; i < questions.Count; i++) döngüsü her soruyu tek tek gezer. questions[i].Text soru metnini, questions[i].Answer beklenen cevabı verir. answers[i] == questions[i].Answer karşılaştırması cevabı denetler. Doğruysa "Doğru", yanlışsa "Yanlış" yazdırır.
Dizi parametresi
Run metodu bir string[] parametresi alır; bu dizi her soru için bir cevap içerir. Çağrı: quiz.Run(new[] { "Ankara" }).
new[] { ... } ile yeni bir dizi oluşturulur. Dizi uzunluğu soru sayısına eşit olmalıdır; aksi halde answers[i] erişimi hata verebilir. Bu derste cevaplar kod içinden gönderiliyor; gerçek bir uygulamada Console.ReadLine() ile kullanıcıdan alınabilirdi.
Uygulama Quiz'i oynat
Quiz sınıfına public void Run(string[] answers) metodunu ekle. Gövdesinde bir for döngüsü ile soruları gez; her soruda questions[i].Text'i yazdır, answers[i] == questions[i].Answer ise "Doğru", değilse "Yanlış" yazdır. Main'de bir soru ekle ve quiz.Run(new[] { "Ankara" }) çağrısı yap.
Örnek çözümü göster
Quiz sınıfına `public void Run(string[] answers) { for (int i = 0; i < questions.Count; i++) { Console.WriteLine(questions[i].Text); if (answers[i] == questions[i].Answer) { Console.WriteLine("Doğru"); } else { Console.WriteLine("Yanlış"); } } }` ekle. Main içine `var quiz = new Quiz(); quiz.AddQuestion(new Question { Text = "Başkent?", Answer = "Ankara" }); quiz.Run(new[] { "Ankara" });` yaz.
Örnek çözüm:
using System;
using System.Collections.Generic;
class Question
{
public string Text;
public string Answer;
}
class Quiz
{
private List<Question> questions = new List<Question>();
public void AddQuestion(Question q)
{
questions.Add(q);
}
public int Count()
{
return questions.Count;
}
public void Run(string[] answers)
{
for (int i = 0; i < questions.Count; i++)
{
Console.WriteLine(questions[i].Text);
if (answers[i] == questions[i].Answer)
{
Console.WriteLine("Doğru");
}
else
{
Console.WriteLine("Yanlış");
}
}
}
}
class Program
{
static void Main()
{
var quiz = new Quiz();
quiz.AddQuestion(new Question { Text = "Başkent?", Answer = "Ankara" });
quiz.Run(new[] { "Ankara" });
}
}
Kendini test et
-
Eşleştir: Run metodu parçaları
- for
- soru döngüsü
- answers[i]
- öğrenci cevabı
- questions[i]
- soru kaydı
- ==
- karşılaştırma
-
Run metodu ne yapmalıdır?
- Yalnızca ilk soruyu gösterir.
- Hiçbir şey yazdırmaz.
- Soruları karıştırır.
- Soruları gezir, cevapları karşılaştırır ve doğru/yanlış yazdırır.
Cevabı göster
Soruları gezir, cevapları karşılaştırır ve doğru/yanlış yazdırır. — Doğru. Run tüm soruları gezerek cevapları karşılaştırır.
-
Boşluğu doldur: for döngüsü
for (____; i < questions.Count; i++)Cevabı göster
for (int i = 0; i < questions.Count; i++)