看板 Perl 關於我們 聯絡資訊
不好意思!我已反覆看了這個程式許多次還是搞不懂哪裡出了問題, 麻煩板上高手解惑。 我的困惱是,第二個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>); } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 47.186.192.177 ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1531636033.A.8C2.html
edwar: 也許出錯的不是第二個函式,是餵給它的值本身就有問題 07/15 18:40
jkchang: $inRate 還是 $intRate ? 07/16 10:07
clanguage: 你打錯字了 07/16 15:10