C# · 6/8
Mini proje: sepet toplamı
Veri, tekrar ve hesabı küçük bir sepet uygulamasında birleştirmek.
Önerilen çalışma: 25–45 dakika; örnekleri kendin uygula. Süre kişiye göre değişir.
Bu sayfada · 9 başlık
Başlamadan önce
Önceki dersteki örneği çalıştırmış olman ve dosya/çıktı ayrımını biliyor olman yararlı.
Öğrenme sırası: konuyu oku → çıktıyı tahmin et → örneği değiştir → alıştırmayı çöz → cevabını gerekçelendir.

Videoyla adım adım izle
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
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.
Kod
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 çıktı: Ö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.
Kod
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 çıktı: Ödenecek: 0
Konu anlatımı
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.
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.
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.
İlk örneği oku ve dene
Mini proje: sepet toplamı
Fiyatları bir diziye (int[]) koyuyoruz ve foreach döngüsüyle tek tek toplayıp sonucu yazıyoruz.
int[] fiyatlar = { 45, 120, 30 };
int toplam = 0;
foreach (int fiyat in fiyatlar)
{
toplam += fiyat;
}
Console.WriteLine($"Sepet toplamı: {toplam} TL");
▶ Sonuç
Sepet toplamı: 195 TL
Adım adım neden böyle çalışıyor?
- fiyatlar veri grubunu taşır.
- toplam döngü dışında 0 ile başlar.
- Her fiyat bir kez eklenir; ara toplamlar 20, 55 ve 70 olur.
- 10 birim indirim sonradan tek kez çıkarılır; sonuç 60 olur.
İkinci çözümlü örnek
Veri, tekrar ve hesabı küçük bir sepet uygulamasında birleştirmek.
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}");
}
}
▶ Sonuç
Ödenecek: 60
Kolaydan zora sen dene
- Ürün fiyatlarını değiştir ve toplamı elde kontrol et.
- İndirimi 0 yap; sonucun ham toplamla aynı olduğunu doğrula.
- Boş sepet ve toplamdan büyük indirim için nasıl davranılacağını yaz; bu kuralları koduna bir koşulla ekle.
İpucunu aç
Önce üç ara toplamı yazdır; doğru birikim varsa indirimi döngü dışına koy.
Üç görevin açıklamalı çözümünü oku
- Yeni ürün değerlerini tek tek toplayıp kodun sonucuyla karşılaştır; örnekte 20+35+15=70.
- İndirim 0 iken ödenecek tutar 70 olur.
- Bu alıştırmanın seçilen kuralı tutarın 0 altına düşmemesidir: sonuç=max(0, toplam−indirim). Boş sepette toplam 0, büyük indirimde sonuç yine 0 olur.
Bir çözüm varyasyonu gör
Çözüm varyasyonu
Önce kendi görevlerini dene. Bu varyasyonda girdi ve sonuçları 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)}");
}
}
▶ Sonuç
Ödenecek: 0
Yaygın hata ve çözümü
- İndirimi döngü içinde uygulamak her turda tekrar indirim yapar; iş kuralı sepet indirimi ise dışarı taşı.
- Gerçek para hesabında yalnızca bu örneğe güvenme; uygun hassasiyet, geçersiz girdi ve yuvarlama kuralları gerekir.
Kendini değerlendir
Ezberlemeden açıklayabiliyor musun?
Sepetin tamamına bir kez uygulanan indirim döngünün neresinde olmalıdır?
Açıklamalı yanıt
Ürün toplamı hesaplandıktan sonra; döngü içinde her üründe tekrar uygulanmamalıdır.
Kendi çözümünde bir girdiyi değiştir. Çalıştırmadan önce beklenen sonucu yaz; gerçek sonuçla karşılaştır ve fark varsa hangi satırdan kaynaklandığını açıkla.
Kaynak ve çalışma ortamı
Örnekler küçük öğretim senaryolarıdır. Java/C#/PHP/Swift çalışma ortamını kendi cihazında ayrıca doğrula; yazılı sonuçlar beklenen davranışı açıklar.
Resmî dil belgeleriBu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.