Einzelnen Beitrag anzeigen

s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#7

Re: Geldrückgabeautomat programmieren, aber wie?

  Alt 18. Okt 2005, 15:03
Hallo, ich würde das spontan so lösen


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const // 500€ 200€ 100€ 50€ 20€ 10€ 5€ 2€ 1€ Cents...
  Money: Array[0..13] of Cardinal = (50000, 20000, 10000, 5000, 2000, 1000, 500, 200, 100, 50, 10, 5, 2, 1);
var
  Change: Cardinal;
  i : Integer;
begin
  Change := Round(StrToInt(EditChange.Text)); // aus dem Eingabefeld in Cents
  Memo1.Lines.Add('Rückgeld: ' + IntToStr(Change));

  while Change > 0 do
  for i := low(Money) to High(Money) do
    if Change >= Money[i] then begin
      case i of
        0..6: Memo1.Lines.Add(Format('Zahle %d € Schein', [Money[i] div 100]));
        7..8: Memo1.Lines.Add(Format('Zahle %d € Münze', [Money[i] div 100]));
        9..13: Memo1.Lines.Add(Format('Zahle %d Cent Münze', [Money[i]]));
        else Memo1.Lines.Add('??');
      end;
      Dec(Change, Money[i]);
      Break;
    end;
end;
Im Memo wird die Liste der ausgezahlten Geldmittel dargestellt.

Edit: Hatte 2€ vergessen
und Thanks Hanks

Edit: 2 Cent Münze eingefügt, mit so kleinen Beträgen kenne ich mich nicht aus
  Mit Zitat antworten Zitat