Add sorting for UE4 A4

This commit is contained in:
Ivaylo Ivanov 2021-11-11 16:26:42 +01:00
parent 09470bb077
commit 4fa07bb34e

View File

@ -1,4 +1,5 @@
> module Angabe4 where > module Angabe4 where
> import Data.List
1. Vervollstaendigen Sie gemaess Angabentext! 1. Vervollstaendigen Sie gemaess Angabentext!
2. Vervollst<73>ndigen Sie auch die vorgegebenen Kommentaranf<6E>nge! 2. Vervollst<73>ndigen Sie auch die vorgegebenen Kommentaranf<6E>nge!
@ -27,11 +28,11 @@ Datenstrukturen fuer eine einfache Buchhaltung:
> data Datum = D { tag :: Tag, > data Datum = D { tag :: Tag,
> monat :: Monat, > monat :: Monat,
> jahr :: Jahr > jahr :: Jahr
> } deriving (Eq,Show) > } deriving (Eq,Show,Ord)
> data Geschaeftspartner = GP { partner :: Name, > data Geschaeftspartner = GP { partner :: Name,
> seit :: Datum > seit :: Datum
> } deriving (Eq,Show) > } deriving (Eq,Show,Ord)
> data Geschaeftsvorfall = Zahlung { brutto :: Brutto, > data Geschaeftsvorfall = Zahlung { brutto :: Brutto,
> skonto :: Skonto, > skonto :: Skonto,
> zahlung_vom :: Datum > zahlung_vom :: Datum
@ -393,7 +394,7 @@ Aufgabe A.4
> saldiere k = create_saldo_cash_book $ konsolidiere k > saldiere k = create_saldo_cash_book $ konsolidiere k
> create_saldo_cash_book :: KonsolidiertesKassabuch -> SaldiertesKassabuch > create_saldo_cash_book :: KonsolidiertesKassabuch -> SaldiertesKassabuch
> create_saldo_cash_book k = SKB (get_saldo_per_partner k []) > create_saldo_cash_book k = SKB (sortOn fst (get_saldo_per_partner k []))
> get_saldo_per_partner :: KonsolidiertesKassabuch -> [(Geschaeftspartner,Saldo)] -> [(Geschaeftspartner,Saldo)] > get_saldo_per_partner :: KonsolidiertesKassabuch -> [(Geschaeftspartner,Saldo)] -> [(Geschaeftspartner,Saldo)]
> get_saldo_per_partner (KKB(x:xs)) res > get_saldo_per_partner (KKB(x:xs)) res