CodeBlanks Logo Icon CodeBlanks

Toplam hesaplama

Subtotal ve vergi dahil toplamı hesaplamayı öğrenirsin.

Toplam hesaplama

Sepetteki ürünlerin ara toplamı (subtotal), vergi ve ek ücretler hariç tutardır. getSubtotal metodu prices listesindeki tüm fiyatları toplar ve bir double olarak döndürür.

Toplama için bir sum değişkeni başlatıp for-in ile her fiyatı gezeriz: double sum = 0; for (var p in prices) { sum += p; } return sum;. += işleci, sol taraftaki değişkene sağ tarafı ekler. Döngü sonunda sum, tüm fiyatların toplamıdır.

Vergi ve toplam

Ara toplam vergi ve ek ücretler öncesi tutardır. Vergi dahil toplam için subtotal * (1 + vergiOranı) kullanılır; örneğin %20 vergi için subtotal * 1.20 çarpanı uygulanır.

Bu projede getSubtotal yalnızca ara toplamı döndürür; vergili toplam main içinde hesaplanır. İkisini ayırmak, vergi oranı değiştiğinde yalnızca çarpanı güncellemeyi kolaylaştırır. Bu ayrım, vergi oranlarının ülkeden ülkeye değişmesi yüzünden önem taşır.

Uygulama getSubtotal metodunu yaz

Cart sınıfına bir getSubtotal metodu ekle. İmzası: double getSubtotal(). Gövdede double sum = 0; ile başla, for (var p in prices) ile her fiyatı gez, sum += p; ile topla ve return sum; ile döndür. main iki ürün ekleyip getSubtotal'ı yazdırıyor. Çıktı tek satırda 35.0 olmalı.

Başlangıç kodu

main.dart
class Cart {
  List<String> names = [];
  List<double> prices = [];

  void addItem(String name, double price) {
    names.add(name);
    prices.add(price);
  }
}
  // getSubtotal metodunu buraya yaz
}

void main() {
  var cart = Cart();
  cart.addItem("Defter", 25.0);
  cart.addItem("Kalem", 10.0);
  print(cart.getSubtotal());
}

Örnek çözüm

main.dart
class Cart {
  List<String> names = [];
  List<double> prices = [];

  void addItem(String name, double price) {
    names.add(name);
    prices.add(price);
  }

  double getSubtotal() {
    double sum = 0;
    for (var p in prices) {
      sum += p;
    }
    return sum;
  }
}

void main() {
  var cart = Cart();
  cart.addItem("Defter", 25.0);
  cart.addItem("Kalem", 10.0);
  print(cart.getSubtotal());
}

Beklenen çıktı

35.0

Soru ve cevaplar

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

1 Parçayı işlevine eşle

Kavram Anlamı
double sum = 0 Toplamı başlatır
for (var p in prices) Her fiyatı gez
sum += p Fiyatı ekle
return sum Toplamı döndür

2 getSubtotal ne döndürür?

main.dart
double getSubtotal() { ... }
  • Vergisiz ara toplamı Doğru cevap
  • Vergi dahil toplamı
  • Ürün adedini
  • İlk ürünün fiyatını

Açıklama: getSubtotal vergi öncesi ara toplamı döndürür.

3 return satırını yaz

Soru
double getSubtotal() {
  double sum = 0;
  for (var p in prices) {
    sum += p;
  }
  ____
}
Cevap
double getSubtotal() {
  double sum = 0;
  for (var p in prices) {
    sum += p;
  }
  return sum;
}

Açıklama: return sum; hesaplanan toplamı döndürür.

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