C#
Birleştirme
Quiz sınıfını konsol menüsüyle birleştirirsin.
Birleştirme
Son derste tüm parçaları birleştireceğiz: Question modeli, Quiz sınıfı, AddQuestion, Run ve skor takibi. Main içinde iki soru ekleyip quiz'i oynatacağız.
İki soru eklemek için AddQuestion metodunu iki kez çağırırız. Run metodu bir dizi cevap alır; bu dizi iki elemanlı olmalıdır. Skor dönen değeri alıp Console.WriteLine(score); ile yazdırırız. Böylece tüm parçalar bir arada çalışır.
İki soru, iki cevap
İki soru eklemek için AddQuestion metodunu peş peşe iki kez çağırırız. Run metodu bu iki soruyu sırayla işler; ilk cevap ilk soruya, ikinci cevap ikinci soruya karşılık gelir.
Cevap dizisinin uzunluğu soru sayısına eşit olmalıdır. new[] { "Ankara", "İzmir" } iki cevap gönderir. Beklenen cevaplarla karşılaştırılır; her doğru için skor bir artar. Yanlış cevaplar skoru etkilemez.
Uygulama Quiz'i birleştir
Main içinde bir Quiz üret, iki soru ekle ve quiz.Run(new[] { "Ankara", "İzmir" }) çağrısı yap. Dönen skoru Console.WriteLine(score); ile yazdır. Sorular: Text = "Başkent?", Answer = "Ankara" ve Text = "En büyük şehir?", Answer = "İstanbul".
Örnek çözümü göster
`var quiz = new Quiz(); quiz.AddQuestion(new Question { Text = "Başkent?", Answer = "Ankara" }); quiz.AddQuestion(new Question { Text = "En büyük şehir?", Answer = "İstanbul" }); int score = quiz.Run(new[] { "Ankara", "İzmir" }); Console.WriteLine(score);`
Ö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 int Run(string[] answers)
{
int score = 0;
for (int i = 0; i < questions.Count; i++)
{
Console.WriteLine(questions[i].Text);
if (answers[i] == questions[i].Answer)
{
Console.WriteLine("Doğru");
score++;
}
else
{
Console.WriteLine("Yanlış");
}
}
return score;
}
}
class Program
{
static void Main()
{
var quiz = new Quiz();
quiz.AddQuestion(new Question { Text = "Başkent?", Answer = "Ankara" });
quiz.AddQuestion(new Question { Text = "En büyük şehir?", Answer = "İstanbul" });
int score = quiz.Run(new[] { "Ankara", "İzmir" });
Console.WriteLine(score);
}
}
Quiz tamam
Tebrikler! Beş dersin sonunda çalışan bir Quiz uygulamasına sahipsin. Question modelini tanımladın, Quiz sınıfını kurdun, soru ekledin, oynattın ve skor hesapladın. Tüm parçalar bir arada çalışıyor.
Sonraki gruplarda bu yapıyı genişleteceğiz: interface ile sözleşme tanımlama, abstract sınıf ile ortak davranış paylaşma ve polimorfizm ile farklı soru türlerini aynı koleksiyonda yönetme.
Kendini test et
-
Birleştirme dersinde ne yapılır?
- Tüm parçaları bir araya getirip çalışan uygulama elde ederiz.
- Yeni bir özellik eklenir.
- Sınıflar silinir.
- Yalnızca yazdırma düzeltilir.
Cevabı göster
Tüm parçaları bir araya getirip çalışan uygulama elde ederiz. — Doğru. Birleştirme tüm parçaları çalışır bütün haline getirir.
-
Eşleştir: birleştirme parçaları
- iki soru
- AddQuestion iki kez
- Run çağrısı
- iki cevap gönderilir
- skor
- doğru sayısı
- WriteLine
- skoru gösterir
-
Boşluğu doldur: skoru yazdır
int score = quiz.Run(answers);
Console.WriteLine(____);
Cevabı göster
int score = quiz.Run(answers);
Console.WriteLine(score);
Sıradaki ders: interface tanımlama