Hallo,
Ich soll für die Schule ein Programm schreiben, bei dem man den Preis für ein bestimmtes Produkt eingibt und dann mit wieviel man bezahlt. Nun soll das Programm zurückgeben in welchen Scheinen und Münzen man sein Wechselgeld bekommt.
Bsp: Der Preis lautet 82€, ich bezahle mit 100€.
Nun sollte das Programm 1x 10er, 1x 5er, 1x 2er, 1x 1er zurückgeben.
Mein Programm tut das in vielen Fällen auch richtig aber z.B. bei Preis = 23,75 und gegeben = 100 gibt es mir statt einem 5 Cent Stück, zwei 2 Cent Stücke, wodurch ein Cent fehlt.
Ich hoffe Ihr versteht was ich meine ^^
Quelltext:
Console.WriteLine("Preis?");
double Preis = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Gegeben?");
double gegeben = Convert.ToDouble(Console.ReadLine());
double wechselgeld = gegeben - Preis;
double[] wbetraege = new double[14] { 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, 100, 200 };
int[] anzahl = new int[14] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
for (int i = 13; i >= 0; i--)
{
if (wechselgeld >= wbetraege)
{
Console.WriteLine(wechselgeld.ToString());
wechselgeld = wechselgeld - wbetraege;
anzahl++;
i++;
}
}
for (int i = 13; i >= 0; i--)
{
if(anzahl != 0)
Console.WriteLine(anzahl.ToString() + "x " + wbetraege.ToString() + " Euro");
}
Console.ReadLine();
[/IMG][http://imageshack.us/photo/my-images/688/desktopxym.png[/IMG]
Ich soll für die Schule ein Programm schreiben, bei dem man den Preis für ein bestimmtes Produkt eingibt und dann mit wieviel man bezahlt. Nun soll das Programm zurückgeben in welchen Scheinen und Münzen man sein Wechselgeld bekommt.
Bsp: Der Preis lautet 82€, ich bezahle mit 100€.
Nun sollte das Programm 1x 10er, 1x 5er, 1x 2er, 1x 1er zurückgeben.
Mein Programm tut das in vielen Fällen auch richtig aber z.B. bei Preis = 23,75 und gegeben = 100 gibt es mir statt einem 5 Cent Stück, zwei 2 Cent Stücke, wodurch ein Cent fehlt.
Ich hoffe Ihr versteht was ich meine ^^
Quelltext:
Console.WriteLine("Preis?");
double Preis = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Gegeben?");
double gegeben = Convert.ToDouble(Console.ReadLine());
double wechselgeld = gegeben - Preis;
double[] wbetraege = new double[14] { 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, 100, 200 };
int[] anzahl = new int[14] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
for (int i = 13; i >= 0; i--)
{
if (wechselgeld >= wbetraege)
{
Console.WriteLine(wechselgeld.ToString());
wechselgeld = wechselgeld - wbetraege;
anzahl++;
i++;
}
}
for (int i = 13; i >= 0; i--)
{
if(anzahl != 0)
Console.WriteLine(anzahl.ToString() + "x " + wbetraege.ToString() + " Euro");
}
Console.ReadLine();
[/IMG][http://imageshack.us/photo/my-images/688/desktopxym.png[/IMG]
Zuletzt bearbeitet: