Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Función que calcula el nº de monedas y billetes para un importe - Delphi
Lenguaje de programación Borland Delphi

Os mostramos el código fuente en Delphi de una función a la que se le pasa un importe (en euros) y devuelve un texto con los billetes y monedas equivalentes a ese importe.


function obtenerNumMonedasBilletes (cantidad : double) : string;
var
  C : array[1..15] of double;
  M : array[1..15] of string;
  S : array[1..15] of double;
  i : integer;
  resultado : string;
begin
  result := '';
  try
    resultado := '';
    c[1] := 50000;
    m[1] := '500 euros (Billete)';
    c[2] := 20000;
    m[2] := '200 euros (Billete)';
    c[3] := 10000;
    m[3] := '100 euros (Billete)';
    c[4] := 5000;
    m[4] := '50 euros (Billete)';
    c[5] := 2000;
    m[5] := '20 euros (Billete)';
    c[6] := 1000;
    m[6] := '10 euros (Billete)';
    c[7] := 500;
    m[7] := '5 euros (Billete)';
    c[8] := 200;
    m[8] := '2 euros (Moneda)';
    c[9] := 100;
    m[9] := '1 euro (Moneda)';
    c[10] := 50;
    m[10] := '50 céntimos (Moneda)';
    c[11] := 20;
    m[11] := '20 céntimos (Moneda)';
    c[12] := 10;
    m[12] := '10 céntimos (Moneda)';
    c[13] := 5;
    m[13] := '5 céntimos (Moneda)';
    c[14] := 2;
    m[14] := '2 céntimos (Moneda)';
    c[15] := 1;
    m[15] := '1 céntimo (Moneda)';

    //Pasa el total a pagar a céntimos
    cantidad := cantidad * 100;
    cantidad := int(cantidad);
    for i := 1 to 15 do
    begin
      s[i] := int(cantidad / c[i]);
      cantidad := cantidad - s[i] * c[i];
    end;
    for i := 1 to 15 do
    begin
      if s[i] <> 0 then
      begin
        if resultado <> '' then
          resultado := resultado + chr(13) + chr(10) + floattostr(s[i]) + ' -> ' + m[i]
        else
          resultado := floattostr(s[i]) + ' -> ' + m[i];
      end;
    end;
    result := resultado;
  except
    result := '';
  end;
end;
Ejemplo de uso:
procedure TformMenuPrincipal.bCalcularClick(Sender: TObject);
begin
  txtResultado.Text := obtenerNumMonedasBilletes(strtofloat(txtImporte.Text));
end;




Publicado el: 2008-10-26

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A