CodeBlanks Logo Icon CodeBlanks

Sepet tasarımı

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

Alışveriş sepeti için yapı ve dizi tasarlarsın.

Proje: Alışveriş sepeti

Bu 5 derslik projede bir alışveriş sepeti yapacaksın. Her derste sepete bir parça ekleyecek, son derste tam bir uygulama elde edeceksin.

Projede daha önce öğrendiklerini kullanacaksın:

  • struct ile veri yapısı
  • int ve double değişkenler
  • printf ile biçimli çıktı
  • for ile döngü

Ayrıca cart_add, cart_subtotal ve cart_list fonksiyonlarını öğreneceksin. Hazırsan başlayalım.

CartItem yapısı

Bir sepet öğesi için struct CartItem tanımlayacağız. Her öğenin bir adı, fiyatı ve miktarı vardır. Sepet de bu yapının bir dizisidir.

struct CartItem {
    char name[32];
    double price;
    int qty;
};

struct CartItem cart[MAX_ITEMS];
int cart_size = 0;

Burada MAX_ITEMS sepetin alabileceği en fazla öğe sayısıdır. cart_size ise şu anki öğe sayısını izler. Sepete ekleme yaptıkça cart_size artar.

Uygulama Sepet iskeletini yaz

Bir C programı yaz. struct CartItem yapısını tanımla (içinde char name[32]; double price; int qty; olsun). struct CartItem cart[MAX_ITEMS]; ve int cart_size = 0; tanımla. main içinde printf("Sepet hazır\n"); ve printf("%d ürün\n", cart_size); yazdır. #include <stdio.h> ve #include <string.h> başta olsun. #define MAX_ITEMS 10 ekleyebilirsin.

Başlangıç kodu

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

#define MAX_ITEMS 10

// CartItem yapısını tanımla: name[32], price, qty

// Sepet dizisini ve cart_size sayacını tanımla

int main(void) {
    // Sepet hazır mesajı ve ürün sayısını yazdır
    return 0;
}

Örnek çözüm

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

#define MAX_ITEMS 10

struct CartItem {
    char name[32];
    double price;
    int qty;
};

struct CartItem cart[MAX_ITEMS];
int cart_size = 0;

int main(void) {
    printf("Sepet hazır\n");
    printf("%d ürün\n", cart_size);
    return 0;
}

Beklenen çıktı

Sepet hazır
0 ürün

Soru ve cevaplar

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

1 Sepet önce neye ihtiyaç duyar?

main.c
struct CartItem { ... };
struct CartItem cart[MAX_ITEMS];
  • Bir yapı ve dizi Doğru cevap
  • Bir veritabanı
  • Bir dosya
  • Bir işaretçi

Açıklama: Sepet bir yapı (struct) ve bir dizi ile başlar.

2 struct tanımını tamamla

Soru
struct CartItem {
    char name[32];
    double price;
    int ____;
};
Cevap
struct CartItem {
    char name[32];
    double price;
    int qty;
};

Açıklama: Miktar için qty kullanılır.

3 Sepet adımlarını eşleştir

Kavram Anlamı
struct CartItem Öğe yapısı
cart[MAX_ITEMS] Sepet dizisi
cart_size Öğe sayısı
MAX_ITEMS Üst sınır

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