不好意思!我已反复看了这个程式许多次还是搞不懂哪里出了问题,
麻烦板上高手解惑。
我的困恼是,第二个subroutine无法计算出正确数值,得出的值永远是$principal
这个输入值。谢谢!
sub getInfo {
print " What is the principal investment amount?\n";
chomp ($principal = <STDIN>);
print "What is the anual interest rate?\n";
chomp ($intRate = <STDIN>);
print "How many times is the interest compound per year?\n";
chomp ($num = <STDIN>);
print "How many year is the money invested or borrowed for?\n";
chomp ($years = <STDIN>);
($principal, $inRate, $num, $years);
}
sub compoundInterest {
my $P = shift;
my $r = shift;
my $r = $r/100;
my $n = shift;
my $t = shift;
$value = $P*(1+$r/$n)**($n*$t);
return $value;
}
$answer = "y";
while ($answer eq "y") {
($principal, $inRate, $num, $years) = &getInfo;
$value = &compoundInterest($principal, $inRate, $num, $years);
print "The value of your investment after $years years will be $value.\n";
print "Would you like to run another compound interest calculation? (y/n)\n";
chomp ($answer = <STDIN>);
}