CodeBlanks Logo Icon CodeBlanks

Görev modeli

  • C kursu
  • Başlangıç
  • Ders 83/116
  • 6 dk

Task yapısını ve dizi tasarlarsın.

Proje: Yapılacaklar listesi

Bu 5 derslik projede bir yapılacaklar listesi CLI uygulaması yapacaksın. Her derste bir parça ekleyecek, son derste tam bir uygulama elde edeceksin.

Projede şunları kullanacaksın:

  • struct Task ile görev modeli
  • add_task, list_tasks, complete_task fonksiyonları
  • görevleri tutan bir dizi ve count sayacı
  • strcpy ile başlık kopyalama

Hazırsan başlayalım.

Görev dizisi

Birden fazla görevi yönetmek için bir struct Task dizisi kullanırız. count değişkeni kaç görev eklendiğini takip eder.

struct Task tasks[10];
int count = 0;
/* tasks[count] bir sonraki boş yer */

Bu yapı sayesinde görev ekleyebilir, listeleyebilir ve tamamlandı işaretleyebiliriz. Dizi sabit boyutludur (10); count dizinin kullanılan kısmını gösterir.

Uygulama İlk görevi oluştur ve yazdır

struct Task yapısını tanımla: int id, char title[50], int done. main içinde struct Task t = {1, "Alışveriş", 0}; ile bir görev oluştur. printf("%d %s %d\n", t.id, t.title, t.done); ile alanları yazdır. Çıktı 1 Alışveriş 0 olmalı.

Başlangıç kodu

main.c
#include <stdio.h>
#include <string.h>

/* struct Task tanımı: kimlik, başlık (50 harf), durum alanları */

int main(void) {
    /* bir görev oluştur ve id, title, done alanlarını yazdır */
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>
#include <string.h>

struct Task {
    int id;
    char title[50];
    int done;
};

int main(void) {
    struct Task t = {1, "Alışveriş", 0};
    printf("%d %s %d\n", t.id, t.title, t.done);
    return 0;
}

Beklenen çıktı

1 Alışveriş 0

Soru ve cevaplar

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

1 struct Task nasıl tanımlanır?

  • int struct Task { };
  • Task { int id; char title[50]; int done; }
  • struct Task = (id, title, done)
  • struct Task { int id; char title[50]; int done; }; Doğru cevap

Açıklama: struct keyword'ü, tür adı ve süslü parantezlerle alanlar tanımlanır.

2 Alan erişimi

Soru
struct Task t;
t.____ = 1;  /* görev numarası */
Cevap
struct Task t;
t.id = 1;  /* görev numarası */

Açıklama: Nokta ile struct alanına erişilir.

3 struct kavramlarını eşleştir

Kavram Anlamı
struct Task görev yapısı
t.id kimlik alanı
t.title başlık alanı
t.done durum alanı

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