C++
Soru ekleme
addQuestion metoduyla quiz'e soru eklemeyi öğrenirsin.
Soru ekleme
Şimdi Quiz sınıfına soru ekleme özelliği ekleyeceğiz. std::vector<Question> ile soruları saklarız ve addQuestion metoduyla yeni soru ekleriz.
Örnek: void addQuestion(std::string text, std::string answer) { questions.push_back({text, answer}); }. Burada push_back yeni bir Question oluşturup vector sonuna ekler. main içinde quiz.addQuestion("Başkent?", "Ankara"); ile soru eklersin. Önceki dersin "Quiz hazır" çıktısının altına soru sayısını yazdırırız.
vector ve push_back
std::vector, C++'ta dinamik dizi sağlar. push_back metodu sona eleman ekler; size() eleman sayısını döndürür.
Önceki derste tanımladığımız Quiz sınıfına std::vector<Question> questions; üyesi ekleriz. İki soru ekleyip questions.size() ile sayısını yazdırırız. Bu, quizin veri yapısını kurar. Sonraki derslerde bu soruları oynatacağız ve skor hesaplayacağız.
Uygulama Quiz'e addQuestion metodunu ekle
Önceki dersin Question ve Quiz iskeletini al. Quiz sınıfına public: altına std::vector<Question> questions; üyesi ve void addQuestion(std::string text, std::string answer) metodu ekle; gövdesi questions.push_back({text, answer});. main içinde bir Quiz oluştur, iki soru ekle ve std::cout << "Quiz hazır" << std::endl; std::cout << quiz.questions.size() << " soru eklendi"; 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;
void addQuestion(std::string text, std::string answer) {
questions.push_back({text, answer});
}
};
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";
return 0;
}
Kendini test et
-
addQuestion çağrısını tamamla
quiz.____("Başkent?", "Ankara");
Cevabı göster
quiz.addQuestion("Başkent?", "Ankara");
-
Bileşeni rolüne eşle
- std::vector<Question>
- Soru listesi
- push_back
- Sona ekleme
- size()
- Eleman sayısı
- addQuestion
- Ekleme metodu
-
push_back ne yapar?
questions.push_back({text, answer});
- Sona eleman ekler
- Vector boyutunu küçültür
- İlk elemanı siler
- İndeks döndürür
Cevabı göster
Sona eleman ekler — push_back, vector'ün sonuna yeni eleman ekler.
Sıradaki ders: Quiz oynatma