C++
Birleştirme
Quiz sınıfını konsol menüsüyle birleştirirsin.
Birleştirme
Son ders olarak Quiz sınıfına reset() metodu ekleyip uygulamayı tamamlıyoruz. reset() skoru sıfırlar; quiz yeniden başlatılabilir.
Tüm parçalar artık bir arada: Question yapısı, addQuestion, run, getScore ve reset metotları. main bir quiz oluşturur, soru ekler, oynatır, skoru yazdırır ve sıfırlar. Bu, birikimli bir proje örneğidir: her ders bir öncekinin üzerine inşa edilmiştir.
Proje tamamlandı
Projeyi tamamladın! Beş ders boyunca bir Quiz sınıfını aşama aşama inşa ettin. Bu, gerçek dünya yazılım geliştirmenin küçük bir örneğidir.
Önce veri modelini (Question) tanımladın, sonra soru ekleme, oynatma, skor ve sıfırlama metotlarını ekledin. Her dersin başlangıç kodu önceki çözümü içeriyordu; böylece kod birikimli büyüdü. Bu yaklaşım, büyük projeleri küçük adımlara bölmenin gücünü gösterir.
Uygulama Quiz'e reset metodunu ekle
Önceki dersin Quiz sınıfını al. getScore() metodundan sonra void reset() ekle; gövdesi score = 0;. main içinde std::cout << "Skor: " << quiz.getScore(); satırının sonuna << std::endl ekle, ardından quiz.reset(); ve std::cout << "Sıfırlandı"; yaz.
Örnek çözümü göster
#include <iostream>
#include <string>
#include <vector>
struct Question {
std::string text;
std::string answer;
};
class Quiz {
public:
std::vector<Question> questions;
int score = 0;
void addQuestion(std::string text, std::string answer) {
questions.push_back({text, answer});
}
void run() {
for (const auto& q : questions) {
std::cout << "Soru: " << q.text << std::endl;
score++;
}
}
int getScore() {
return score;
}
void reset() {
score = 0;
}
};
int main() {
Quiz quiz;
quiz.addQuestion("Başkent?", "Ankara");
quiz.addQuestion("En büyük gezegen?", "Jüpiter");
std::cout << "Quiz hazır" << std::endl;
std::cout << quiz.questions.size() << " soru eklendi" << std::endl;
quiz.run();
std::cout << "Skor: " << quiz.getScore() << std::endl;
quiz.reset();
std::cout << "Sıfırlandı";
return 0;
}
Kendini test et
-
Metodu amacına eşle
- addQuestion
- Soru ekleme
- run
- Quiz oynatma
- getScore
- Skor okuma
- reset
- Sıfırlama
-
reset() metodu ne yapar?
void reset() { score = 0; }
- Metodları gizler
- Soruları siler
- Programı kapatır
- Skoru sıfırlar
Cevabı göster
Skoru sıfırlar — reset(), score değişkenini 0 yapar.
-
reset çağrısını tamamla
quiz.____();
Cevabı göster
quiz.reset();
Sıradaki ders: template<typename T>