CodeBlanks Logo Icon CodeBlanks

Model tasarımı

  • C kursu
  • Orta seviye
  • Ders 65/116
  • 6 dk

Book ve Member struct'larının iskeletini tasarlarsın.

Proje: Kütüphane uygulaması

Bu beş derslik projede bir kütüphane uygulaması yapacaksın. Her ders bir parça ekler; son derste menüyle çalışan bir program elde edersin. Kitap ve üye modelleri, kütüphane koleksiyonu, ödünç verme, arama ve menü adımlarını sırayla kuracaksın.

Önceki gruplardaki struct, fonksiyon işaretçisi ve dize bilgisini kullanacaksın. Bu ilk derste Book ve Member struct'larının iskeletini tasarlayacaksın. Her dersin başlangıç kodu önceki dersin çözümünü içerir; böylece kod birikimli büyür.

Book ve Member struct'ları

Bir struct, ilgili verileri bir araya getirir. Book için başlık (char title[64]), yıl (int year) ve ödünç durumu (int borrowed) alanları yeterlidir. Member için isim ve kimlik benzer biçimde tanımlanır.

Örnek: typedef struct { char title[64]; int year; int borrowed; } Book;. typedef ile struct Book yerine doğrudan Book yazabilirsin. Bu, kodun okunurluğunu artırır. Kitap için 64 baytlık başlık çoğu kitap adını taşır; ödünç durumu 0 (rafta) ya da 1 (ödünçte) olarak çalışır.

Uygulama Book ve Member struct'larını yaz

typedef struct { char title[64]; int year; int borrowed; } Book; ve typedef struct { char name[64]; int id; } Member; yaz. void print_book(Book *b) fonksiyonu yaz; içinde printf("Book: %s (%d)\n", b->title, b->year); olsun. main içine Book b = {"C Tutorial", 2024, 0}; ve print_book(&b); ekle. <stdio.h> ve <string.h> başlıklarını ekle.

Başlangıç kodu

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

// Book struct'ını tanımla (title, year, borrowed)
// Member struct'ını tanımla (name, id)
// print_book fonksiyonunu yaz

int main(void) {
    // Bir Book tanımla ve print_book ile yazdır
    return 0;
}

Örnek çözüm

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

typedef struct {
    char title[64];
    int year;
    int borrowed;
} Book;

typedef struct {
    char name[64];
    int id;
} Member;

void print_book(Book *b) {
    printf("Book: %s (%d)\n", b->title, b->year);
}

int main(void) {
    Book b = {"C Tutorial", 2024, 0};
    print_book(&b);
    return 0;
}

Beklenen çıktı

Book: C Tutorial (2024)

Soru ve cevaplar

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

1 Book struct'ında hangi alan ödünç durumunu tutar?

  • int year
  • char title[64]
  • int borrowed Doğru cevap
  • char author[32]

Açıklama: borrowed alanı 0 ya da 1 ile ödünç durumu tutar.

2 Book struct'ını tamamla

Soru
typedef struct {
    char title[64];
    int year;
    ____ borrowed;
} Book;
Cevap
typedef struct {
    char title[64];
    int year;
    int borrowed;
} Book;

Açıklama: int borrowed; 0 ya da 1 taşır.

3 Alanları amacına eşle

Kavram Anlamı
title[64] Kitap adı
year Basım yılı
borrowed Ödünç durumu
id Üye kimliği

Orta seviye bölümündeki tüm dersler