Ürün ekleme
- C++ kursu
- Başlangıç
- Ders 49/116
- 6 dk
Sepete ürün ekleyen fonksiyonu yazarsın.
addItem fonksiyonu
Product yapısı hazır; şimdi sepete ürün eklemek için addItem fonksiyonunu yazacağız. Cart yapısının içinde std::vector<Product> items alanı zaten var; bu vektör eklenen ürünleri tutar.
std::vector, C++'ın boyu otomatik büyüyen dizi yapısıdır; ayrıntısını ileride göreceksin. addItem(Product p) fonksiyonu gövdesinde items.push_back(p) çağrısı yapar; bu, p'yi vektörün sonuna ekler. Fonksiyon bir değer döndürmediği için void türündedir.
vector ve push_back
std::vector<T>, boyu otomatik büyüyen bir dizi yapısıdır. items.push_back(x) x'i sona ekler, items.size() eleman sayısını verir, items[i] ile dizine erişilir.
Bir vektörü kullanmadan önce std::vector<Product> items; satırıyla tanımlamalısın. Cart yapısında bu tanım zaten var. Bu projede vektörün yalnızca push_back ve size yöntemlerini kullanacağız; döngülerle gezinmeyi sonraki derslerde öğreneceksin.
Uygulama addItem fonksiyonunu yaz
Cart yapısının içine bir addItem fonksiyonu ekle. İmzası void addItem(Product p) olmalı. Gövdede items.push_back(p); çağrısı yapsın. main zaten bir ürün ekleyip eklendi yazdırıyor; sen yalnızca fonksiyonu yaz.
Başlangıç kodu
#include <iostream>
#include <string>
#include <vector>
struct Product {
std::string name;
double price;
int quantity;
};
struct Cart {
std::vector<Product> items;
// addItem fonksiyonunu buraya yaz
};
int main() {
Cart cart;
Product p;
p.name = "Defter";
p.price = 25.0;
p.quantity = 2;
cart.addItem(p);
std::cout << "eklendi" << std::endl;
return 0;
}Örnek çözüm
#include <iostream>
#include <string>
#include <vector>
struct Product {
std::string name;
double price;
int quantity;
};
struct Cart {
std::vector<Product> items;
void addItem(Product p) {
items.push_back(p);
}
};
int main() {
Cart cart;
Product p;
p.name = "Defter";
p.price = 25.0;
p.quantity = 2;
cart.addItem(p);
std::cout << "eklendi" << std::endl;
return 0;
}Beklenen çıktı
eklendi
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 addItem gövdesini yaz
void addItem(Product p) {
____;
}
void addItem(Product p) {
items.push_back(p);
}
Açıklama: items.push_back(p) ürünü vektörün sonuna ekler.
2 Metodu işlevine eşle
| Kavram | Anlamı |
|---|---|
addItem |
Sepete ürün ekler |
push_back |
Vektöre eleman ekler |
getSubtotal |
Ara toplamı verir |
printCart |
Sepeti yazdırır |
3 cart.addItem(p) ne yapar?
cart.addItem(p);- Sepetten ürün çıkarır
- Sepete ürün ekler Doğru cevap
- Toplamı hesaplar
- Miktarı günceller
Açıklama: addItem p'yi sepetin items vektörüne ekler.