CodeBlanks Logo Icon CodeBlanks

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.

Başlangıç kodu

main.cpp
#include <iostream>
#include <string>

struct Question {
    std::string text;
    std::string answer;
};

class Quiz {
};

int main() {
    std::cout << "Quiz hazır";
    // addQuestion metodunu ekle ve iki soru ekle, sayıyı yazdır
    return 0;
}

Örnek çözüm

main.cpp
#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;
}

Beklenen çıktı

Quiz hazır
2 soru eklendi

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 addQuestion çağrısını tamamla

Soru
quiz.____("Başkent?", "Ankara");
Cevap
quiz.addQuestion("Başkent?", "Ankara");

Açıklama: addQuestion metodu ile soru eklenir.

2 Bileşeni rolüne eşle

Kavram Anlamı
std::vector<Question> Soru listesi
push_back Sona ekleme
size() Eleman sayısı
addQuestion Ekleme metodu

3 push_back ne yapar?

main.cpp
questions.push_back({text, answer});
  • Sona eleman ekler Doğru cevap
  • Vector boyutunu küçültür
  • İlk elemanı siler
  • İndeks döndürür

Açıklama: push_back, vector'ün sonuna yeni eleman ekler.

Orta seviye bölümündeki tüm dersler