Thema: Geldautomat

Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Geldautomat

  Alt 3. Mär 2011, 11:24
Evtl. so?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
//aus Bequemlichkeitsgründen Konstanten definiert statt Eingaben auszuwerten
const
  Preis = 5.01;
  Einwurf = 10;
var
  Rest: Currency;
begin
  ListBox1.Items.BeginUpdate;
  try
    Rest := Einwurf - Preis;
    Rueckgabe(trunc(Rest * 100));
  finally
    ListBox1.Items.EndUpdate;
  end;
end;

procedure TForm1.Rueckgabe(WertInCent: integer);
begin
  if WertInCent > 0 then
    case WertInCent of
      1:
        begin
          ListBox1.Items.Add('1 Cent');
          Rueckgabe(WertInCent - 1);
        end;
      2 .. 4:
        begin
          ListBox1.Items.Add('2 Cent');
          Rueckgabe(WertInCent - 2);
        end;
      5 .. 9:
        begin
          ListBox1.Items.Add('5 Cent');
          Rueckgabe(WertInCent - 5);
        end;
      10 .. 19:
        begin
          ListBox1.Items.Add('10 Cent');
          Rueckgabe(WertInCent - 10);
        end;
      20 .. 49:
        begin
          ListBox1.Items.Add('20 Cent');
          Rueckgabe(WertInCent - 20);
        end;
      50 .. 99:
        begin
          ListBox1.Items.Add('50 Cent');
          Rueckgabe(WertInCent - 50);
        end;
      100 .. 199:
        begin
          ListBox1.Items.Add('1 Euro');
          Rueckgabe(WertInCent - 100);
        end;
    else
      begin
        ListBox1.Items.Add('2 Euro');
        Rueckgabe(WertInCent - 200);
      end;
    end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat