C
Görev listeleme
ListTasks ile görevleri formatlı yazdırmayı öğrenirsin.
list_tasks fonksiyonu
Tüm görevleri yazdırmak için list_tasks fonksiyonu yazıyoruz. Bir for döngüsü 0'dan count'a kadar döner ve her görevi yazdırır.
void list_tasks(struct Task tasks[], int count) {
for (int i = 0; i < count; i++) {
printf("%d %s %d\n", tasks[i].id, tasks[i].title, tasks[i].done);
}
}
Fonksiyon void döndürür; yalnızca yazdırır, bir şey değiştirmez. count kadar görev yazdırılır.
for döngüsü ile gezme
for (int i = 0; i < count; i++) kalıbı 0'dan başlar ve count'a kadar (hariç) her elemanı gezer. i indis, tasks[i] ise o indisteki görevdir.
for (int i = 0; i < count; i++) {
printf("%d %s\n", tasks[i].id, tasks[i].title);
}
Bu kalıp dizilerin gezilmesinde standarttır. count sınırı dizinin kullanılan kısmını belirler.
Uygulama list_tasks fonksiyonunu ekle
Aşağıdaki koda void list_tasks(struct Task tasks[], int count) fonksiyonunu ekle. İçinde for (int i = 0; i < count; i++) döngüsü ile her görevi printf("%d %s %d\n", tasks[i].id, tasks[i].title, tasks[i].done); biçiminde yazdır. main içindeki iki printf yerine list_tasks(tasks, count); çağrısı koy. Çı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;
}
void list_tasks(struct Task tasks[], int count) {
for (int i = 0; i < count; i++) {
printf("%d %s %d\n", tasks[i].id, tasks[i].title, tasks[i].done);
}
}
int main(void) {
struct Task tasks[10];
int count = 0;
count = add_task(tasks, count, "Alışveriş");
count = add_task(tasks, count, "Spor");
list_tasks(tasks, count);
return 0;
}
Kendini test et
-
Tüm görevleri listelemek için ne kullanılır?
- Tek bir printf
- for döngüsü ile tüm görevler
- if deyimi
- switch
Cevabı göster
for döngüsü ile tüm görevler — for döngüsü 0'dan count'a kadar tüm görevleri gezer.
-
Listeleme kavramlarını eşleştir
- list_tasks
- listeleme fonksiyonu
- for
- döngü
- count
- görev sayısı
- %d %s %d
- yazdırma biçimi
-
Döngü sınırı
for (int i = 0; i < ____; i++) { /* görev yazdır */ }
Cevabı göster
for (int i = 0; i < count; i++) { /* görev yazdır */ }
Sıradaki ders: Görev tamamlama