Hallo liebe Forenmitglieder,
ich bin lebensälterer Student (30 J.) im ersten Semester Wirtschaftsinfo und soll einen Geldwechselautomaten programmieren
vorab hierzu ...ich bin blutjunger anfänger und sitze seit drei wochen jeden tag mehrere stunden am problem...:rtfm::rtfm:ich bin endgültig am ende mit meinem latein und hoffe jemand kann mir weiterhelfen...wenns geht bitte so dass ich es auch nachvollziehen kann:
Aufgabe 1 : Klasse Geldwechselautomat
Entwerfen Sie eine Klasse, die einen Geldwechselautomaten darstellt. Dieser soll beliebige Geldbeträge so auf verschiedene Münzen aufteilen, dass die Gesamtzahl der Münzen möglichst klein ist.
Beispiel für einen Programmlauf (Benutzereingaben sind farblich hervorgehoben):
Eingabe: 7,46 €
Ausgabe:
3 Muenze/n zu 2,00 €
1 Muenze/n zu 1,00 €
0 Muenze/n zu 50 Cent
2 Muenze/n zu 20 Cent
0 Muenze/n zu 10 Cent
1 Muenze/n zu 5 Cent
0 Muenze/n zu 2 Cent
1 Muenze/n zu 1 Cent
Weiter?(j/n) j
Die acht Münzwerte (2€, 1€, 50cent, 20cent, 10cent, 5cent, 2cent, 1cent) sind in einem Array der Klasse Geldwechselautomat abzuspeichern.
Definieren Sie für die Klasse Geldwechselautomat folgende Methoden:
Aufgabe 2 : main-Funktionin der Klasse Geldwechselautomat
Entwerfen Sie eine main-Funktion zum Starten des Geldwechselautomaten. Es wird ein Objekt der Klasse Geldwechselautomaten erzeugt. Dieses fordert nun den Benutzer auf, einen Geldbetrag einzugeben, um ihn in Münzen zu wechseln. Der Geldwechselautomat wechselt solange, bis der Benutzer eine 0 eingibt.
Hinweise:
Meine Lösung bislang dazu :
ich habe zwei classen aufgemacht:
einmal diese hier :
und dann dazu passend diese zweite klasse:
was das programm bisher kann? ich kann den float 7,46 eingeben und die ausgabe ist wie oben in der aufgabenstellung gefordert...
was mir fehlt?
1.wie sage ich meinem code das er bei 7,46 es als euro betrachtet und 746 umrechnet in 7,46 euro??
2. passend dazu...wie verarzte ich das problem, dass ich das symbol € oder aber das wort cent hinter den betrag schreibe...und der jenachdem was getippt wird, richtig entscheidet...denke da an if-else...weiß aber nicht wie und wo genau ich es heir einfügen soll
3. wie packe ich das ganze so, dass er dolange geld wechselt bis ich die "0 €" bzw. "0 Cent" eingebe und er dann ausgibt "Ohne Geldeinwurf kein weiteres wechseln mehr möglich...
4. also schmankerl noch dazu ...wie bekomme ich alles als conolenausgabe?
???:L:bahnhof:???:L
ich bin lebensälterer Student (30 J.) im ersten Semester Wirtschaftsinfo und soll einen Geldwechselautomaten programmieren
vorab hierzu ...ich bin blutjunger anfänger und sitze seit drei wochen jeden tag mehrere stunden am problem...:rtfm::rtfm:ich bin endgültig am ende mit meinem latein und hoffe jemand kann mir weiterhelfen...wenns geht bitte so dass ich es auch nachvollziehen kann:
Aufgabe 1 : Klasse Geldwechselautomat
Entwerfen Sie eine Klasse, die einen Geldwechselautomaten darstellt. Dieser soll beliebige Geldbeträge so auf verschiedene Münzen aufteilen, dass die Gesamtzahl der Münzen möglichst klein ist.
Beispiel für einen Programmlauf (Benutzereingaben sind farblich hervorgehoben):
Eingabe: 7,46 €
Ausgabe:
3 Muenze/n zu 2,00 €
1 Muenze/n zu 1,00 €
0 Muenze/n zu 50 Cent
2 Muenze/n zu 20 Cent
0 Muenze/n zu 10 Cent
1 Muenze/n zu 5 Cent
0 Muenze/n zu 2 Cent
1 Muenze/n zu 1 Cent
Weiter?(j/n) j
Die acht Münzwerte (2€, 1€, 50cent, 20cent, 10cent, 5cent, 2cent, 1cent) sind in einem Array der Klasse Geldwechselautomat abzuspeichern.
Definieren Sie für die Klasse Geldwechselautomat folgende Methoden:
- Berechnung des einzuwechselnden Betrages in Münzwerte in der Methode umrechnung()
- Einlesen der Geldbeträge in der Methode einlesen(). Achten Sie darauf, dass Geldbeträge sowohl in Euro (z.B. 7,46 €) als auch nur in Cent (z.B. 746 cent) eingegeben werden können.
- Ausgabe der Münzbeträge in der Methode ausgabe() mit den Angaben:
- Ausgabe des zu wechselnden Betrages
- Anzahl der Münzen und Münzwerte
- Achten Sie darauf, für Geldbeträge 2 Nachkommastellen anzuzeigen.
- Versuchen Sie, den Betrag so zu wechseln, dass von jedem der acht Münzen etwas dabei ist..
- Sie können weitere Methoden definieren, wenn Sie welche benötigen.
Aufgabe 2 : main-Funktionin der Klasse Geldwechselautomat
Entwerfen Sie eine main-Funktion zum Starten des Geldwechselautomaten. Es wird ein Objekt der Klasse Geldwechselautomaten erzeugt. Dieses fordert nun den Benutzer auf, einen Geldbetrag einzugeben, um ihn in Münzen zu wechseln. Der Geldwechselautomat wechselt solange, bis der Benutzer eine 0 eingibt.
Hinweise:
- Bitte keine Umlaute, kein ß und keine Zeichen oberhalb Ascii-Code 128 in Bezeichnern oder Dateinamen verwenden!
- Verwenden Sie sprechende Variablennamen , also nicht "i", sondern "idealgewicht".
- Bitte Attribute als "private" deklarieren!
Meine Lösung bislang dazu :
ich habe zwei classen aufgemacht:
einmal diese hier :
Java:
import java.util.*;
public class berechneWechselgeld
{
public static void main(String[] args)
{
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
float geldbetrag;
System.out.println("Eingabe in €:");
geldbetrag= sc.nextFloat();
Geldwechsel_automat ga = new Geldwechsel_automat();
ga.umrechnung(geldbetrag);
System.out.println(ga);
}
}
und dann dazu passend diese zweite klasse:
Java:
public class Geldwechsel_automat
{
private int[] wechselgeld = new int[8];
public int[] umrechnung(float geldbetraginEuro)
{
int[] wechselgeld = new int[8];
int iwechselgeld = Math.round(geldbetraginEuro * 100);
// Für 2€
wechselgeld[0] = iwechselgeld / 200;
iwechselgeld = iwechselgeld % 200;
// Für 1€
wechselgeld[1] = iwechselgeld / 100;
iwechselgeld = iwechselgeld % 100;
// Für 0,50€
wechselgeld[2] = iwechselgeld / 50;
iwechselgeld = iwechselgeld % 50;
// Für 0,20€
wechselgeld[3] = iwechselgeld / 20;
iwechselgeld = iwechselgeld % 20;
// Für 0,10€
wechselgeld[4] = iwechselgeld / 10;
iwechselgeld = iwechselgeld % 10;
// Für 0,05€
wechselgeld[5] = iwechselgeld / 5;
iwechselgeld = iwechselgeld % 5;
// Für 0,02€
wechselgeld[6] = iwechselgeld / 2;
iwechselgeld = iwechselgeld % 2;
// Für 0,01€
wechselgeld[7] = iwechselgeld / 1;
iwechselgeld = iwechselgeld % 1;
this.wechselgeld = wechselgeld;
return wechselgeld;
}
public String toString()
{
{
String ausgabe = "Ausgabe: ";
for (int eingabe = 0; eingabe < wechselgeld.length; eingabe++)
{
switch (eingabe)
{
case 0:
ausgabe += "\n Muenze/n zu 2,00 €:";
break;
case 1:
ausgabe += "\n Muenze/n zu 1,00 €:";
break;
case 2:
ausgabe += "\n Muenze/n zu 0,50 Euro:";
break;
case 3:
ausgabe += "\n Muenze/n zu 0,20 Euro:";
break;
case 4:
ausgabe += "\n Muenze/n zu 0,10 Euro:";
break;
case 5:
ausgabe += "\n Muenze/n zu 0,05 Euro:";
break;
case 6:
ausgabe += "\n Muenze/n zu 0,02 Euro:";
break;
case 7:
ausgabe += "\n Muenze/n zu 0,01 Euro:";
break;
default:
ausgabe += "\n Fehler ";
break;
}
ausgabe += wechselgeld[eingabe];
ausgabe += " ";
}
return ausgabe;
}
}
}
was das programm bisher kann? ich kann den float 7,46 eingeben und die ausgabe ist wie oben in der aufgabenstellung gefordert...
was mir fehlt?
1.wie sage ich meinem code das er bei 7,46 es als euro betrachtet und 746 umrechnet in 7,46 euro??
2. passend dazu...wie verarzte ich das problem, dass ich das symbol € oder aber das wort cent hinter den betrag schreibe...und der jenachdem was getippt wird, richtig entscheidet...denke da an if-else...weiß aber nicht wie und wo genau ich es heir einfügen soll
3. wie packe ich das ganze so, dass er dolange geld wechselt bis ich die "0 €" bzw. "0 Cent" eingebe und er dann ausgibt "Ohne Geldeinwurf kein weiteres wechseln mehr möglich...
4. also schmankerl noch dazu ...wie bekomme ich alles als conolenausgabe?
???:L:bahnhof:???:L
Zuletzt bearbeitet von einem Moderator: