bank :: Int -> Int -> IO() bank betrag schein | betrag == 0 = return () | betrag >= schein = do putStrLn ( show(schein) ) bank (betrag-schein) schein | schein == 5 && betrag /= 0 = putStrLn ( "der Betrag geht nicht auf" ) | betrag < schein = bank betrag (klSchein ( schein )) klSchein :: Int -> Int klSchein schein | schein == 500 = 200 | schein == 200 = 100 | schein == 100 = 50 | schein == 50 = 20 | schein == 20 = 10 | schein == 10 = 5 | otherwise = 5