不好意思!我已反覆看了這個程式許多次還是搞不懂哪裡出了問題,
麻煩板上高手解惑。
我的困惱是,第二個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>);
}