各位大大,来看看我的程序为什么编译通过了,可是为什么出不来对话筐呢(100分)

  • 主题发起人 主题发起人 Akeyfly
  • 开始时间 开始时间
A

Akeyfly

Unregistered / Unconfirmed
GUEST, unregistred user!
假设五个人工资1053,2014,3038,9154,6814
人民币面值100,50,20,10,1
问取多少张100的多少张50的。。。多少张1元的使每个人都能顺利领到钱不要找零,且取钱的总张数最少。

我输入五个人的工资后要显示五个人总共个要领多少张钞票?


程序如下:

var a,b,c,d,e,f,g,h,i:integer;
count:array[5]of integer;

begin
for i:=0 to 4 do
count:=strtoint(inputbox('工资金额','请输入要计算的工资金额',''));

a:=count div 100;
b:=count mod 100;
c:=b div 50;
d:=b mod 50;
e:=d div 20;
f:=d mod 20;
g:=f div 10;
h:=f mod 10;
showmessage('100元'+inttostr(a)+'张'+'50元'+inttostr(c)+'张'+'20元'+inttostr(e)+'张'+'10元'+inttostr(g)+'张'+'1元'+inttostr(h)+'张');


编译通过了,可是那个对话框就是不出来,怎么办呢?是程序有问题还是怎么回事呢?
请大侠们进来给小弟看看
 
count:array[5]of integer; 这个有问题应该是count:array[0..4]of integer;
 
要改成:
count:array[0..5]of integer;
 
楼上两位,我改了,还是没用啊,能不能给我看看程序有什么问题吗?[:(]
 
var a,b,c,d,e,f,g,h,i:integer;
count:array[0..4]of integer;//改

begin
for i:=0 to 4 do
begin//加
count:=strtoint(inputbox('工资金额','请输入要计算的工资金额','0')); //改
if count=0 then exit; //加
a:=count div 100;
b:=count mod 100;
c:=b div 50;
d:=b mod 50;
e:=d div 20;
f:=d mod 20;
g:=f div 10;
h:=f mod 10;
showmessage('100元'+inttostr(a)+'张'+'50元'+inttostr(c)+'张'+'20元'+inttostr(e)+'张'+'10元'+inttostr(g)+'张'+'1元'+inttostr(h)+'张');
end;//加
end;
你这种方法只能算五个人的!
 
for i:=0 to 4 do begin
count:=strtoint(inputbox('工资金额','请输入要计算的工资金额',''));

a:=count div 100;
b:=count mod 100;
c:=b div 50;
d:=b mod 50;
e:=d div 20;
f:=d mod 20;
g:=f div 10;
h:=f mod 10;
showmessage('100元'+inttostr(a)+'张'+'50元'+inttostr(c)+'张'+'20元'+inttostr(e)+'张'+'10元'+inttostr(g)+'张'+'1元'+inttostr(h)+'张');
end;
 
a:=count[i-1] div 100;
b:=count[i-1] mod 100;

QQ:136293586
 
对话框可以跳出来,但是显示的值不正确。
 
上面有我改过的!值是正确的!
 
我是说楼主的代码显示的值不正确。
 
5555,还是不行,有没有再电脑上调试出来的大大啊,在线等,谢谢楼上的各位热心的兄弟们。
 
我就是在电脑上调过了的!
你想要什么样的效果?
你是不是要先弹五次对话框,输入5个人的工资;再showmessage5次?show出每个人的钱币情况?

你是不是要这样的?
var a,b,c,d,e,f,g,h,i:integer;
Value: integer;//改

begin
Value:=0;
for i:=0 to 4 do
Value:=Value+strtoint(inputbox('工资金额','请输入要计算的工资金额','0')); //改

if Value=0 then exit; //加
a:=Value div 100;
b:=Value mod 100;
c:=b div 50;
d:=b mod 50;
e:=d div 20;
f:=d mod 20;
g:=f div 10;
h:=f mod 10;
showmessage('100元'+inttostr(a)+'张'+'50元'+inttostr(c)+'张'+'20元'+inttostr(e)+'张'+'10元'+inttostr(g)+'张'+'1元'+inttostr(h)+'张');
end;
 
不是,我是想,连续输入五个人的工资,最后得出这五个人的总钱的张数
 
还有人回答吗?
 

Similar threads

I
回复
0
查看
654
import
I
I
回复
0
查看
843
import
I
I
回复
0
查看
796
import
I
后退
顶部