ich habe zur Übung einen WechselgeldRechner zusammengeschustert.
Kann mir jemand helfen und sagen wo der Fehler liegt?
Er dividiert einfach nicht 0,05 durch 0,05?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WechselGeld
{
class WechselGeldMethode
{
public void RestGeld()
{
Console.Write("Geben Sie den Preis des Produktes ein: ");
double preisProdukt = Convert.ToDouble(Console.ReadLine());
Console.Write("Geben Sie den bezahlten Betrag ein: ");
double gezahltesGeld = Convert.ToDouble(Console.ReadLine());
double restGeld = gezahltesGeld - preisProdukt;
Console.WriteLine("Restgeld: " + (gezahltesGeld - preisProdukt));
double[] array1 = new double[] { 5.00, 2.00, 1.00, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01 };
int i = 0;
while (i <= 8)
{
double abziehen = array1[i];
double wert = Math.Floor(restGeld / abziehen);
// double rest = restGeld % array1[i] ;
if (wert >= 1)
restGeld = (restGeld - wert*abziehen);
Console.WriteLine("Anzahl von " + array1[i] + " Euro: " + wert);
i++;
}
Console.ReadLine();
}
}
}
ich habe schon
while (i <= 8)gesetzt, da scheinbar das Programm andernfalls in eine Endlosschleife läuft.
Ursprünglich wollte ich
while (i >= 0.01)eintragen.
Sagen wir mal, das Produkt kostet 3,75
Ich denke es ist ein großer Anfängerfehler
Danke
Dieser Beitrag wurde von bartii bearbeitet: 05. November 2011 - 23:59

Hilfe
Neues Thema
Antworten


Nach oben



