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 Taskile görev modeliadd_task,list_tasks,complete_taskfonksiyonları- görevleri tutan bir dizi ve
countsayacı strcpyile 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
#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
#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
struct Task t;
t.____ = 1; /* görev numarası */
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ı |