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:
structile veri yapısıintvedoubledeğişkenlerprintfile biçimli çıktıforile 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
#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
#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?
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
struct CartItem {
char name[32];
double price;
int ____;
};
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 |