求一Delphi工资发放程序,根据用户输入的工资金额,计算出钞票最少张数的付款方式

来源:百度知道 编辑:UC知道 时间:2024/05/16 03:02:21
请高手指点下

其实我都在找一个更单简单的方法,可惜delphi没落了,没多少人在用.如果有更好的方法请通知我.

方法1:edit2.Text:=inttostr(trunc((strtoint(edit1.text)/100)));先将工资除以100然后用函数trunc()去掉小数点后的数.如些类推..这种方法很麻烦.
方法2:
var
h,h1:Double;
a,a1,b,b1,c,c1,d,d1,e,e1,f,f1,g,g1,i,j,k,i1,j1,k1:integer;
begin
h1:=StrToFloat(edit1.text);
h:=10*h1 ;//零为整,方便计算
a:=0;a1:=0; //100元张数
b:=0;b1:=0; //50元张数
c:=0;c1:=0; //20元张数
d:=0;d1:=0; //10元张数
e:=0;e1:=0; //5元张数
f:=0;f1:=0; //2元张数
g:=0;g1:=0; //1元张数
while h-a>=1000 do
begin
a:=a+1000;
a1:=a1+1;
end;
while h-a-b>=500 do
begin
b:=b+500;
b1:=b1+1;
end;
while h-a-b-c>=200 do
begin
c:=c+200;
c1:=c1+1;
end;

while h-a-b-c-d>=100 do
begin
d:=d+100;
d1:=d1+1;
end;

while h-a-b-c-d-e>= 50do
begin
e:=e+50;
e1:=e1+1;
end;
while h-a-b-c-d-e-f>= 20do
begin
f:=f+20;
f1:=f