EPROG-LU - Aufgabe 1132 (Geldberechnung)
1132 Money2 Geldberechnung
Kategorie:String
Klasse:schwer
Eingabe:String
Ausgabe:siehe Spez
Abzugebende Files: Money2.txt, Money2.java

Kurzbeschreibung:

Eine Geldbetrag soll eingelesen werden und auf Scheine und Münzen aufgeteilt werden.

Allgemeine Hinweise:

Aufgabenstellung:

Lesen Sie einen String ein, der einen Geldbetrag sowie eines der (fiktiven) Währungskennzeichen C und D enthält.

In diesen fiktiven Währungen gibt es folgende Scheine und Münzen:

C = Scheine (2,10,50,100,500,800) Münzen (1,5)
D = Scheine (4,20,50,100,400) Münzen (1,2,5,10)

Der Geldbetrag soll nun auf möglichst wenige (->große) Scheine aufgeteilt werden; Münzen dürfen erst dann genommen werden, wenn man mit Scheinen nicht mehr weiterkommt. Auch hier sollen es möglichst wenige Münzen sein.

Eingabedaten:

Lesen Sie einen String ein, der einen Geldbetrag und am Ende einen der Buchstaben "C" oder "D" enthält. Es dürfen nur Ziffern sowie die Großbuchstaben C und D im String vorkommen.

Der Geldbetrag muß größer als 0 sein und darf 10000000 (10 Millionen) nicht übersteigen.

Ausgabedaten:

Bei korrekten Eingabesätzen soll Ihr Programm die Aufteilung des Betrages in Scheine und Münzen liefern. Geben Sie dazu ein "S" aus, danach in nach Betrag absteigender Reihenfolge den Nennwert des Scheines und die Anzahl der notwendigen Scheine dieser Größe.

Ebenso verfahren Sie mit den Münzen: Geben Sie ein "M" aus und danach Nennwert und Anzahl der benötigten Münzen.

Wenn überhaupt keine Scheine bzw. Münzen notwendig sind, so geben Sie auch kein "S" bzw. "M" aus.

Trennen Sie die einzelnen Teile der Ausgabe durch Leerzeichen und geben Sie am Ende einen Zeilenvorschub aus.

Fehlerbehandlung:

Bei fehlerhaften Eingabestrings geben Sie die Meldung "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, aus.

Beispiele:

Eingabedaten
1253D

31402C

Ausgabedaten
S 400 3 50 1 M 2 1 1 1

S 800 39 100 2 2 1


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Money2 < Money2.i1 > Money2.out1

Das erzeugte File Money2.out1 können Sie dann mit dem mitgelieferten Outputfile Money2.o1 vergleichen.

Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif