首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB中医院收费功能的几个问题

VB中医院收费功能的几个问题
EN

Stack Overflow用户
提问于 2013-11-17 22:57:37
回答 1查看 1.9K关注 0票数 0

我正在用VB做一个程序,在这里我必须做三个不同的函数,从我的医院收费表中输入的数字来确定成本。一个计算misc费用(CalcMiscCharges),一个计算住院费用(CalcChargesOfStay),另一个计算总费用(CalctotalCharges)。用这个当前的代码,我输入的任何数字都是用0美元回答的。有人能看到我的问题所在吗?

代码语言:javascript
复制
Const DayRate As Decimal = 350
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    'declare variables
    Dim PhysicalRehab As Decimal
    Dim SurgeryCharges As Decimal
    Dim LabCharges As Decimal
    Dim MedCharges As Decimal
    Dim StayCharges As Decimal
    Try
        'Copy the scores into the variables
        StayCharges = CDec(TextBoxLength.Text) * DayRate
        MedCharges = CDec(TextBoxMed.Text)
        SurgeryCharges = CDec(TextBoxSurg.Text)
        LabCharges = CDec(TextBoxLab.Text)
        PhysicalRehab = CDec(TextBoxPhy.Text)
    Catch
        MessageBox.Show("Please enter numeric values", "Error")
        Return
    End Try
    'Find out if box enteries are negative or not
    If Convert.ToDecimal(LabCharges) < 0 Then
        MessageBox.Show("No Negative Numbers", "Try Agian")
        Return
        TextBoxLab.SelectAll()
    ElseIf Convert.ToDecimal(MedCharges) < 0 Then
        MessageBox.Show("No Negative Numbers", "Try Agian")
        Return
        TextBoxMed.SelectAll()
    ElseIf Convert.ToDecimal(SurgeryCharges) < 0 Then
        MessageBox.Show("No Negative Numbers", "Try Agian")
        Return
        TextBoxSurg.SelectAll()
    ElseIf Convert.ToDecimal(PhysicalRehab) < 0 Then
        MessageBox.Show("No Negative Numbers", "Try Agian")
        Return
        TextBoxPhy.SelectAll()
    ElseIf Convert.ToDecimal(StayCharges) < 0 Then
        MessageBox.Show("No Negative Numbers", "Try Agian")
        Return
        TextBoxLength.SelectAll()
    End If
    'Sends results to the label
    LabelTotal.Text = CalctotalCharges.ToString("c")
End Sub
Function CalcMiscCharges() As Decimal
    Return CDec(TextBoxMed.Text) + CDec(TextBoxLab.Text) + CDec(TextBoxPhy.Text) + CDec(TextBoxSurg.Text)
End Function
Function CalcChargesOfStay() As Decimal
    Return CalcChargesOfStay = CDec(TextBoxLength.Text) * DayRate
End Function

Function CalctotalCharges() As Decimal
    Return CDec(CalctotalCharges = CDec(CalcChargesOfStay() + CalcMiscCharges()))
End Function

Private Sub ButtonExit_Click(sender As Object, e As EventArgs) Handles ButtonExit.Click
    Me.Close()
End Sub

Private Sub ButtonClear_Click(sender As Object, e As EventArgs) Handles ButtonClear.Click
    TextBoxLab.Clear()
    TextBoxLength.Clear()
    TextBoxMed.Clear()
    TextBoxPhy.Clear()
    TextBoxSurg.Clear()
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-17 23:10:22

在我看来,你在这些函数中混合了两个不同的语法:

代码语言:javascript
复制
Function CalcChargesOfStay() As Decimal
    Return CalcChargesOfStay = CDec(TextBoxLength.Text) * DayRate
End Function

Function CalctotalCharges() As Decimal
    Return CDec(CalctotalCharges = CDec(CalcChargesOfStay() + CalcMiscCharges()))
End Function

only使用Return关键字,或者onlyfunction name设置为结果。

所以看起来是这样的:

代码语言:javascript
复制
Function CalcChargesOfStay() As Decimal
    Return CDec(TextBoxLength.Text) * DayRate
End Function

Function CalctotalCharges() As Decimal
    Return CalcChargesOfStay() + CalcMiscCharges()
End Function

或者像这样:

代码语言:javascript
复制
Function CalcChargesOfStay() As Decimal
    CalcChargesOfStay = (CDec(TextBoxLength.Text) * DayRate)
End Function

Function CalctotalCharges() As Decimal
    CalctotalCharges = (CalcChargesOfStay() + CalcMiscCharges())
End Function

但你不能同时使用两种语法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20037315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档