Öğren · Dene · Üret
C# · Mini proje: sepet toplamı — videolu atölye
Adım adım Türkçe görsel rehber. Her bölümden sonra duraklat ve kendi ortamında dene.
4:35 dk · Sessiz görsel anlatım · Duraklatıp kodu veya adımı kendin dene.
Bölümler
Videoyu metin olarak oku
Mini proje: sepet toplamı
Veri, tekrar ve hesabı küçük bir sepet uygulamasında birleştirmek.
Kavramı kur
Bu proje önceki derslerde ayrı öğrendiğin parçaları bir akışa dönüştürür. Girdimiz fiyatlar koleksiyonu, işlemimiz toplama ve indirim, çıktımız ödenecek tutardır. Kod yazmadan önce bu üç bölümü yazmak, hesap kuralı ile ekrana yazı yazdırmayı birbirinden ayırır. Sonuç değişkenini hazır bir sayıya eşitlemek yerine girdilerden hesaplat.
Neden böyle çalışıyor?
Fiyatları tek tek dolaşıp biriken toplama ekliyoruz. Döngü bittikten sonra indirimi bir kez uyguluyoruz. İndirimi her ürün içinde çıkarmak farklı bir kuraldır; bir sepet indirimi ile ürün başına indirimi karıştırma. Küçük bir test tablosuyla hangi kuralı uyguladığını gösterebilirsin.
Çalışma sırası
Boş sepet, sıfır indirim ve toplamdan büyük indirim gibi durumları ayrıca düşün. Bu dersteki örnek küçük tam sayı tutarlar içindir; gerçek ödeme yazılımı değildir. Para türü, yuvarlama, vergi ve girdi doğrulama kurallarını ürün gereksinimine göre açıkça tanımlamak gerekir. Önce doğru temel akışı kur, sonra kapsamı büyüt.
İkinci örnek · 1
fiyatlar veri grubunu taşır. Kodun tamamı yazılı derste bulunur.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
int[] fiyatlar = { 20, 35, 15 };
int toplam = 0;
foreach (int fiyat in fiyatlar) { toplam += fiyat; }
int indirim = 10;
Console.WriteLine($"Ödenecek: {toplam - indirim}");
}
}Beklenen sonucu oku
10 birim indirim sonradan tek kez çıkarılır; sonuç 60 olur.
Beklenen: Ödenecek: 60
Bir değeri sen değiştir
Ürün fiyatlarını değiştir ve toplamı elde kontrol et. İndirimi 0 yap; sonucun ham toplamla aynı olduğunu doğrula.
Hata nereden gelir?
İndirimi döngü içinde uygulamak her turda tekrar indirim yapar; iş kuralı sepet indirimi ise dışarı taşı.
Kendi çözümünü kur
Boş sepet ve toplamdan büyük indirim için nasıl davranılacağını yaz; bu kuralları koduna bir koşulla ekle. Önce üç ara toplamı yazdır; doğru birikim varsa indirimi döngü dışına koy.
Çözüm varyasyonu · 1
Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
int[] fiyatlar = { 20, 35, 15 };
int toplam = 0;
foreach (int fiyat in fiyatlar) { toplam += fiyat; }
int indirim = 100;
Console.WriteLine($"Ödenecek: {Math.Max(0, toplam - indirim)}");
}
}Kendini kontrol et
Sepetin tamamına bir kez uygulanan indirim döngünün neresinde olmalıdır? Yanıt: Ürün toplamı hesaplandıktan sonra; döngü içinde her üründe tekrar uygulanmamalıdır.
Beklenen: Ödenecek: 0
Bu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.