Delphi 7.0 编程问题

1.运输公司计算运费时,距离(S)越长,每公里运费越低,标准如下:

如果S<250公里;运费为标准运价的100%

如果250公里<=S<500公里,运费为标准运价的98%;

如果500公里<=S<1000公里,运费为标准运价的95%;

如果1000公里<=S<2000公里,运费为标准运价的92%;

如果2000公里<=S<3000公里,运费为标准运价的90%;

如果S=>3000公里,运费为标准运价的85%;。请编计算运费的程序。

假设100% 的运费是1000

procedure TForm1.Button1Click(Sender: TObject);
const y=1000;
var x,p:integer;
tax:real;
begin
x:=strtoint(edit1.text);
p:=trunc(x/250);
if p>12 then p:=12;
case p of
0 :tax:=y;
1 :tax:=y*0.98;
2..3 :tax:=y*0.95;
4..7 :tax:=y*0.92;
8..11 :tax:=y*0.92;
12 :tax:=y*0.85;
edit2.text:=_______(tax);
end;

end.

输出时该什么输出啊? 我定义的类型对吗?

procedure TForm1.Button1Click(Sender: TObject);
var
s, p: integer;
vs: integer;
vpay: real;
begin
//-- 定义标准, 距离250公里, 运费 1000元 --//
vs:= 250;
vpay:= 1000;
s:= StrToInt(Edit1.Text);
p:= Trunc(s/vS);
if p > 12 then
p:= 12;

case p of
0:
vPay:= vPay;
1:
vPay:= vPay * 0.98;
2..3:
vPay:= vPay * 0.95;
4..7:
vPay:= vPay * 0.92;
8..11:
vPay:= vPay * 0.90;
12:
vPay:= vPay * 0.85;
end;
//-- 钱, 小数点后留2位 --//
Edit2.Text:= FloatToStrF(vPay, fffixed, 15, 2);
end;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-04
tax:Double;

edit2.text:= FloatToStr(tax);
第2个回答  2011-03-04
floattostr
相似回答