要改CalculateTree;
var
a, b:do
uble;
begin
if (Root^.LeftChild=nil) and (Root^.RightChild=nil) then
Result:=StrToFloat(Root^.op)//关键是在这里处理函数.
else
begin
a:=CalculateTree(Root^.LeftChild);
b:=CalculateTree(Root^.RightChild);
case Root^.op[1] of
'+': Result:=a+b;
'-': Result:=a-b;
'*': Result:=a*b;
'/': Result:=a/b
end
end
end;