一个程序问题,希望各位赐教!(100分)

  • 主题发起人 主题发起人 千年飞鸟
  • 开始时间 开始时间

千年飞鸟

Unregistered / Unconfirmed
GUEST, unregistred user!
例如:
已知电视机的长宽高分别是:A,B,C(分别写在:edit1.text,edit2.text,edit3.text里)
集装箱的长宽高分别为:L,W,H(分别写在:edit4.text,edit5.text,edit6.text里)
现在我想求出电视机一次性可装入集装箱的最大数!(的出结果写在edit7.text里)

PS:因为会有两种情况,电视机的高是不可能变的(因为电视不可能倒放),但长宽就可能
改变,所以会出现L/A*W/B*H/C 或 L/B*W/A*H/C 得出结果两者比较,取最大值,然后在显
示在edit7.text里!

各高手可以告诉一下我这个程序怎么写吗??我是初学者。。希望大家能关照一下新人!

 
在两种情况下 用集装箱的长对电视的长求模 即 L div A 集装箱的宽对电视的宽求模

W div B 集装箱的 同理求 H div C 然后相乘 (L div A) * (W div C) * (H div C)

把两种情况都算出结果 比较大小 输出即可
 
(L div A) * (W div C) * (H div C) 写错了

应该是 (L div A) * (W div B) * (H div C)

 
似乎还有可能有一部分横着放,有一部分竖着放的情况
 

比较大小用max函数,uses math;
 
能把DELPHI代码写出来看看吗?我试了几次都没行:(
 
var
max1,max2,max : integer;
A,B,C : integer;
L,W,H : integer;
begin
..........//初始化a,b,c,l,w,h
max1 := (L div A) * (W div B) * (H div C);
max2 := (L div B) * (W div A) * (H div C);
if max1 > max2 then
begin
max := max1;
end
else
begin
max := max2;
end;
edit7.text := inttostr(max);
end;

报什么错误 贴出来
 
把写在edit1.text.......edit6.text中的数字转换成A,B,C,L,W,H的话,怎么转变呢!?
是不是这样:edit1.text=L ?????!!

谢谢
 
用strtoint(trim(edit1.text)) 转为 数字型
 
谢谢jumboo兄和khaki兄!!能留个联系方法吗!?以后希望能请教两位!
 
接上面的例子,电视和箱的长,宽,高都只能是整数!

但如果实际运行中,不小心把长,宽,高的其中一项输入为带有小数,或英文字母的时候

又怎样可以使程序出现报错呢!?!?应该在代码里怎样写??请教!!!~~
 
try
...
except
...
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部