我的教授要求我们使用子过程创建抵押计算器。我能够一键完成所有任务,而无需使用sub或ByVal / ByRef。但是,当我将其拆分为几个不同的函数和子函数时,我有0个错误,但是当我单击按钮进行计算时,这3个显示输出都为0。我假设这是我的Function calc块或我的函数中的某个东西btnCalculate_Click子。
Public Class frmMortgage
Dim annualRateOfInterest, monthlyPayment, begBalance As Double 'Declaring variables
Dim intForMonth, redOfPrincipal, endBalance As Double
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
Call getInput(annualRateOfInterest, monthlyPayment, begBalance)
Call displayOutput(intForMonth, redOfPrincipal, endBalance)
End Sub
Sub getInput(ByVal annualRateOfInterests As Double, ByVal monthlyPayment As Double, ByVal begBalance As Double) 'Values input into txt boxes
annualRateOfInterest = CDbl(txtInterest.Text) / 100 'Change number entered into a percentage
monthlyPayment = CDbl(txtPayment.Text)
begBalance = CDbl(txtBalance.Text)
End Sub
Function calc(ByVal annualRateOfInterest As Double, ByVal monthlyPayment As Double, ByVal begBalanceintForMonth As Double, ByVal redOfPrincipal As Double, ByVal endBalance As Double)
Return intForMonth = (annualRateOfInterest / 12) * begBalance 'Take percentage divided by 12 times beginning balance
Return redOfPrincipal = monthlyPayment - intForMonth
Return endBalance = begBalance - redOfPrincipal
End Function
Sub displayOutput(ByRef intForMonth As Double, ByRef redOfPrincipal As Double, ByRef endBalance As Double)
mtbMonth.Text = CDbl(intForMonth) 'Display the calculated data into correct textboxes.
mtbROP.Text = CDbl(redOfPrincipal)
mtbEndBalance.Text = CDbl(endBalance)
End Sub
End Class
我只是将所有内容合并为一个Sub
。
Private Sub btnCalculate_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnCalculate.Click
ComputeMortgage(Val(txtInterest.Text), Val(txtPayment.Text), Val(txtBalance.Text))
End Sub
Sub ComputeMortgage(ByVal Interest As Double, ByVal monthlyPayment As Double, ByVal begBalance As Double)
annualRateOfInterest = Interest / 100
'COMPUTATION
intForMonth = (annualRateOfInterest / 12) * begBalance 'Take percentage divided by 12 times beginning balance
redOfPrincipal = monthlyPayment - intForMonth
endBalance = begBalance - redOfPrincipal
'DISPLAYING
mtbMonth.Text = intForMonth 'Display the calculated data into correct textboxes.
mtbROP.Text = redOfPrincipal
mtbEndBalance.Text = endBalance
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句