Ana içeriğe geç

Go Cash Register Assignment

Amaç

Go dilinde basit bir kasa kayıt programı oluşturun. Bu program, bir liste içindeki ürünleri işleyebilmeli ve olası indirimleri uygulayarak toplam tutarı hesaplayabilmelidir.


Gereklilikler

Tipler ve Değişkenler

Item adında bir yapı (struct) tanımlayın. Bu yapıda Name (İsim), Price (Fiyat) ve Discount (İndirim) alanları olsun. İşlenecek ürünleri tutmak için Item türünden bir slice oluşturun.

Fonksiyonlar

calculatePrice(item Item) float64: Bu fonksiyon, bir ürünü parametre olarak alır ve indirim uygulandıktan sonra fiyatını döndürür.

totalPrice(items []Item) float64: Bu fonksiyon, kesitteki tüm ürünlerin toplam fiyatını hesaplayarak döndürür.

Döngüler ve Koşullu İfadeler

calculatePrice fonksiyonunda, bir ürünün indirimli olup olmadığını kontrol etmek için bir if ifadesi kullanın ve varsa indirimi uygulayın.

totalPrice fonksiyonunda, bir döngü kullanarak kesit içindeki ürünleri dolaşın ve fiyatları toplayın.

Arayüzler

Describable adında bir interface tanımlayın ve içinde Description() string adında bir method olsun. Item yapısı için Description fonksiyonunu receiver olarak ekleyin; bu yöntem, "Ad - Fiyat (Eğer indirim varsa indirimli fiyat)" formatında bir metin döndürmelidir.

Örnek Çıktı

Elma - 0.75 TL (10% indirimle 0.68 TL)
Portakal - 1.00 TL
Toplam Fiyat: 1.68 TL