CodeBlanks Logo Icon CodeBlanks

Görev modeli

Task struct'ını ve vector'ü tasarlarsın.

Görev modeli

Bu 5 derslik projede bir yapılacaklar listesi (to-do list) uygulaması yapacaksın. Her derste listeye bir parça ekleyecek, son derste çalışan tam bir komut satırı uygulaması elde edeceksin.

İlk ders Task yapısını tasarlamak. Bir görevin iki özelliği olacak: title (başlık metni) ve done (tamamlandı mı). Bu yapı projenin tüm derslerinde kullanılacak, bu yüzden sağlam tasarlamak önemli. C++'ta ilgili verileri tek bir tür altında toplamak için struct kullanılır.

struct ve alanlar

Bir struct, ilgili verileri tek bir tür altında toplar. struct Task { ... }; ile tanımlanır. Yapının içindeki değişkenlere alan (field) denir.

Örnek: struct Task { std::string title; bool done; };. Burada title bir metin, done ise mantıksal (bool) alandır. Task t; ile yeni bir örnek oluşturulur; nokta ile alanlara erişilir: t.title. Bu, vektördeki .size() çağrısına benzer.

Uygulama Task yapısı ve örnek

struct Task'ı tanımla: std::string title; ve bool done; alanlarını ekle. main içinde bir Task oluştur, title'a "Ekmek al" ata, title'ı std::cout ile yazdır.

Başlangıç kodu

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

// Task yapısını tanımla

int main() {
    // Bir görev oluştur, başlık ata ve yazdır
    return 0;
}

Örnek çözüm

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

struct Task {
    std::string title;
    bool done;
};

int main() {
    Task t;
    t.title = "Ekmek al";
    t.done = false;
    std::cout << t.title << "\n";
    return 0;
}

Beklenen çıktı

Ekmek al

Soru ve cevaplar

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

1 Task örneğinin title çıktısı nedir?

main.cpp
struct Task { std::string title; bool done; };
Task t;
t.title = "Ekmek al";
std::cout << t.title;
  • Boş
  • null
  • Task
  • Ekmek al Doğru cevap

Açıklama: t.title = "Ekmek al" atamasından sonra cout Ekmek al yazar.

2 Task alanı

Soru
struct Task {
    std::string title;
    ____
};
Cevap
struct Task {
    std::string title;
    bool done;
};

Açıklama: bool done; ile mantıksal alan tanımlandı.

3 İfadeyi anlamına eşle

Kavram Anlamı
struct Task Yapı tanımı
std::string title Metin alanı
bool done Mantıksal alan
Task t Örnek oluşturma

Başlangıç bölümündeki tüm dersler