/*
Autor: Milena Hudl
Mnr: 0261242
Bsp1: 1132 Geldberechnung
*/
import eprog.*;
public class Money2 extends EprogIO {
//Werte der Scheine und Muenzen entsprechend der Waehrung einlesen
public static int[] cScheine = {800,500,100,50,10,2};
public static int[] cMuenzen = {5,1};
public static int[] dScheine = {400,100,50,20,4};
public static int[] dMuenzen = {10,5,2,1};
public static void main (String[] args) {
try {
//String einlesen, und für weitere Berechnung in Int umwandeln, die Umwandlung erfolgt mit parseInt
int betrag= 0;
String eingabe = readWord();
betrag = new Integer(Integer.parseInt(eingabe.substring(0, eingabe.length()-1)));
//der Betrag muss groesser als 0 und kleiner oder gleich 10Mio sein,und muss mit D oder C enden
if ((betrag > 0) & (betrag <= 10000000)) {
if (eingabe.endsWith("D"))
println(berechnen(betrag,dScheine,dMuenzen));
else if (eingabe.endsWith("C"))
println(berechnen(betrag,cScheine,cMuenzen));
else println("FALSCHE EINGABE");
} else println("FALSCHE EINGABE");
}
catch (Exception e) {
println("FALSCHE EINGABE");
}
}
public static String berechnen(int betrag,int[] scheine, int[] muenzen) {
int langeS = scheine.length;
int langeM = muenzen.length;
String ausgabeS = "S";
String ausgabeM = "M";
String ausgabe = "";
boolean scheinevorhanden = false;
boolean muenzenvorhanden = false;
//Berechnung fuer die Scheine
for(int pos=0; pos < langeS; pos++) {
int anzahl = betrag/scheine[pos];
betrag = betrag%scheine[pos];
if (anzahl!= 0){
scheinevorhanden = true;
String teilstring = ( " " + scheine[pos] + " " + anzahl);
ausgabeS = ausgabeS + teilstring;
}
}
//Berechnung für die Muenzen
for(int pos=0; pos < langeM; pos++) {
int anzahl = betrag/muenzen[pos];
betrag = betrag%muenzen[pos];
if (anzahl!= 0) {
muenzenvorhanden = true;
String teilstring = ( " " + muenzen[pos] + " " + anzahl);
ausgabeM = ausgabeM + teilstring;
}
}
//dementsprechende Ausgabe
if ((scheinevorhanden)&(muenzenvorhanden)){
ausgabe = ausgabeS + " " + ausgabeM;
}
else if (!muenzenvorhanden) {
ausgabe = ausgabeS;
}
else {
ausgabe = ausgabeM;
}
//ausgabe wird an die Main-Methode uebergeben
return(ausgabe);
}
}