Ver Mensaje Individual
  #5  
Antiguo 23-03-2009
Nove bb net Nove bb net is offline
Registrado
 
Registrado: mar 2009
Posts: 8
Reputación: 0
Nove bb net Va por buen camino
se trata de un programa que al ingresar una cierta cantidad (por ej. 2580), me indique cuantos billetes y/o monedas se necesitan para completar tal cantidad... de acuerdo al ejemplo:

cantidad = 2580

billetes cantidad

1000...............2

500.................1

200

100

50..................1

20..................1

10..................1

5

Mira a ver si esto te vale:

En un form he puesto un boton, un edit y un memo para los resutlados

y en el onclick del boton, esto:

procedure TForm1.Button1Click(Sender: TObject);
var a:longint;
b:longint;
const billetes:array[0..7] of longint=(1000,500,200,100,50,20,10,5);
function completar(valor:longint; hasta:longint):string;
begin
result:=inttostr(valor);
while length(result)<hasta do
result:=result+'.'
end;
begin
a:=strtointdef(edit1.text,-1);
b:=0;
while (a>billetes[7]) do
begin
if (a div (billetes[b]))>0 then
begin
memo1.lines.add(completar(billetes[b],20)+inttostr(a div billetes[b]));
a:=a-((a div billetes[b])*billetes[b]);
end
else
memo1.lines.add(completar(billetes[b],20)+'0');
b:=b+1;
end;
if a>0 then
memo1.lines.add('En monedas: '+inttostr(a));
end;

No se que quieres hacer complicandote con una estructura de case, ...

Espero te sirva.

Saludos.
Nove
Responder Con Cita