AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fahrkartenautomat

Ein Thema von b2info · begonnen am 17. Mär 2009 · letzter Beitrag vom 18. Mär 2009
Antwort Antwort
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#1

Re: Fahrkartenautomat

  Alt 18. Mär 2009, 08:34
.. eigentlich wollte ich ja von den ganzen while Schleifen Gedöns weg.

Im Prinzip könnte es doch so laufen:

Delphi-Quellcode:
Rückgeld = gezahltesGeld - Fahrkarte

While Rückgeld > 0 do
  begin
    100erRück := Rückgeld div 100;
    if 100erRück > 100erVorhaden then
      begin
        Rückgeld := Rückgeld - (100erVorhanden * 100);
      end
    else
      begin
        100erVorhanden := 100erVorhanden - 100erRück;
        Rückgeld := Rückgeld - (100erVorhanden * 100)
      end;
    ...
     50er
    ...
     20er
    ...
     10er
  end;
Wenn mann noch die Schein und Münzwerte (und eventuell deren Anzahl) in ein Array packt
kann man durch das Array laufen und kann sich die lange Abfolge
von Abprüfugen sparen.

So könnte man ein Record Geld erstellen
Delphi-Quellcode:
  TGeld = record
    wert : Integer;
    anzahl : Integer;
  end;
und ein Array Geldspeicher

GeldSpeicher = Array [0..10] of TGeld;
Delphi-Quellcode:
Rückgeld = gezahltesGeld - Fahrkarte;
for i:=0 to length(Geldspeicher) -1 do
  if Rückgeld > 0 then
    begin
      tempRück := Rückgeld div Geldspeicher[i].wert;
      if tempRück > Geldspeicher[i].anzahl then
        begin
          Rückgeld := Rückgeld - (Geldspeicher[i].anzahl * Geldspeicher[i].wert);
          Geldspeicher[i].anzahl:=0;
        end
      else
        begin
          Geldspeicher[i].anzahl := Geldspeicher[i].anzahl - tempRück;
          Rückgeld := Rückgeld - (tempRück * Geldspeicher[i].wert)
        end;
    end;

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz