clojure-uebungen/Assignment_004/solution/readme.md

709 B

Lösung: Kontrolltrukturen: Lagerverwaltung, Teil 2

#!/usr/bin/env -S clojure -M

(def lager {
    :PS5      10
    :GTX1090  20
    :OEL     300
})

(println "Lagerverwaltung Abzock GmbH")
(println "Welcher Artikel wurde geliefert: ")
(def artikel (keyword (read-line)))
(println "Wieviel wurde ausgeliefert?")
(def menge (Integer/parseInt (read-line)))

(def bestand-alt (get lager artikel))
(def bestand-neu (- bestand-alt menge))

(if (< bestand-neu 0)
  (println "Nicht genug Artikel vorhanden, du unwissendes Frischfleisch")
  (do
    (def lager (dissoc lager artikel))
    (def lager (assoc  lager artikel bestand-neu))))

(println "")
(println "Neuer Lagerbestand")
(println lager)