Menu
Coddy logo textTech

Tekrar - Kütüphane Kartı

Coddy'nin Swift Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 6 / 57.

challenge icon

Görev

Orta

LibraryCard sınıfını tamamla. Başlatıcısı üye name değerini ve bir limit değerini (varsayılan 3) alır ve ödünç alınmış kitap olmadan başlar. Kart limitine ulaşmadıysa ve başlık zaten kartta bulunmuyorsa borrow(_:), true döndürür ve başlığı ekler. giveBack(_:), başlığı kaldırdığında true döndürür. status(), başlıklar ödünç alma sırasıyla birlikteyken Ada: 2/3 (Dune, Emma) veya hiçbir şey ödünç alınmadığında Ada: 0/3 döndürür.

Verilen kod, adı, limiti (veya varsayılan değer için boş bir satırı) ve ardından +title ya da -title komutlarını okur. Her komut için ok veya no yazdırır ve son olarak status() değerini yazdırır.

Kodun LibraryCard.swift dosyasına yazılmalıdır. main.swift verilen girdi/çıktı kodunu içerir ve düzenlenemez.

Kendin dene

// Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
var input: [String] = []
while let line = readLine() { input.append(line) }
let card = input[1].isEmpty ? LibraryCard(name: input[0]) : LibraryCard(name: input[0], limit: Int(input[1])!)
for cmd in input.dropFirst(2) {
    let title = String(cmd.dropFirst())
    let done = cmd.hasPrefix("+") ? card.borrow(title) : card.giveBack(title)
    print(done ? "ok" : "no")
}
print(card.status())

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Swift playground