C
Görev ekleme
AddTask fonksiyonuyla listeye görev eklemeyi öğrenirsin.
add_task fonksiyonu
Bir görevi diziye eklemek için add_task fonksiyonu yazıyoruz. Fonksiyon, yeni görevi tasks[count] indisine koyar ve count + 1 döndürür.
int add_task(struct Task tasks[], int count, const char *title) {
tasks[count].id = count + 1;
strcpy(tasks[count].title, title);
tasks[count].done = 0;
return count + 1;
}
strcpy başlığı diziye kopyalar; done = 0 görevi başlangıçta bekliyor yapar. Dönen değer yeni count'tür.
count sayacı
count değişkeni dizide kaç görev olduğunu tutar. Her add_task çağrısında yeni değer count + 1'dir. Bu sayede bir sonraki ekleme doğru yere yapılır.
int count = 0;
count = add_task(tasks, count, "Alışveriş"); /* count = 1 */
count = add_task(tasks, count, "Spor"); /* count = 2 */
Her eklemede count bir artar. Bu kalıp, sabit boyutlu dizilerde dinamik büyümeyi taklit eder.
Uygulama add_task fonksiyonunu ekle
Aşağıdaki kodun üstüne int add_task(struct Task tasks[], int count, const char *title) fonksiyonunu ekle. İçinde tasks[count].id = count + 1;, strcpy(tasks[count].title, title); ve tasks[count].done = 0; yaz, return count + 1; döndür. main içinde struct Task tasks[10]; int count = 0; tanımla, iki görev ekle ve her ikisini de yazdır. Çıktı 1 Alışveriş 0 ve 2 Spor 0 olmalı.
Örnek çözümü göster
#include <stdio.h>
#include <string.h>
struct Task {
int id;
char title[50];
int done;
};
int add_task(struct Task tasks[], int count, const char *title) {
tasks[count].id = count + 1;
strcpy(tasks[count].title, title);
tasks[count].done = 0;
return count + 1;
}
int main(void) {
struct Task tasks[10];
int count = 0;
count = add_task(tasks, count, "Alışveriş");
count = add_task(tasks, count, "Spor");
printf("%d %s %d\n", tasks[0].id, tasks[0].title, tasks[0].done);
printf("%d %s %d\n", tasks[1].id, tasks[1].title, tasks[1].done);
return 0;
}
Kendini test et
-
Sıradaki kimlik
struct Task t;
t.id = ____; /* sıradaki kimlik */
Cevabı göster
struct Task t;
t.id = count + 1; /* sıradaki kimlik */
-
Bir diziye yeni görev eklerken ne yapmalıyız?
- Yeni struct'ı dizide count indisine koymalı ve count'u artırmalı
- Sadece count artırmalı
- Diziyi yeniden tanımlamalı
- Hiçbir şey
Cevabı göster
Yeni struct'ı dizide count indisine koymalı ve count'u artırmalı — Yeni görev tasks[count]'a konur ve count bir artırılır.
-
Ekleme kavramlarını eşleştir
- add_task
- görev ekleme fonksiyonu
- tasks[count]
- yeni görev yeri
- count + 1
- yeni sayım
- strcpy
- dize kopyalama
Sıradaki ders: Görev listeleme