如何计算 Visual Basic 中的用户输入?

How do I count user input in Visual Basic?

VB的代码:

For 'I think this where the counter would go if I knew how to write it
        If (intEmpCount < 10) Then
            If decTotalTax < decGrossPay Then
                decNetPay = decNetPay
                boxResults.Items.Add("EMPLOYEE ID: " & dblEmpID.ToString)
                boxResults.Items.Add("Gross Pay: $" & decGrossPay.ToString("N2"))
                boxResults.Items.Add("Net Pay: $" & decNetPay.ToString("N2"))
                boxResults.Items.Add("State Withholdings: $" & decStateTaxAmount.ToString("N2"))
                boxResults.Items.Add("Federal Withholdings: $" & decFederalTaxAmount.ToString("N2"))
                boxResults.Items.Add("FICA Withholdings: $" & decFICAAmount.ToString("N2"))
            Else
                MessageBox.Show("ERROR. THE AMOUNT OF WITHOLDINGS ($" & decTotalTax.ToString("N2") & ") EXCEEDS THE GROSS PAY.")
            End If
        Else
            MessageBox.Show("ERROR. YOU HAVE EXCEEDED THE ALLOWABLE NUMBER OF EMPLOYEES.")
        End if

待答问题:如何统计录入了多少个EmployeeID?

对于这项作业,我假设教授希望我们将员工人数限制在 10 人以内,所以我正在努力弄清楚如何做到这一点。同样出于此分配的目的,我们应该假设 EmployeeID 可以是任意数字,最多六位或七位数字,具体取决于公司的规模。

例如:1000 10001 100001 101000 等等...

这是 Visual Basic 中 for 循环的一般语法:

For counter [ As datatype ] = start To end [ Step step ]  
    [ statements ]  
    [ Continue For ]  
    [ statements ]  
    [ Exit For ]  
    [ statements ]  
Next [ counter ]

所以你的循环可能看起来像

For number As Integer = 0 To 5
            (something here)
        Next
        (something here)

所以这意味着我们要声明一个名为 number 的整数,该整数最初 = 为 0。它会一直持续到它达到 5。你会写一些类似的东西,但你必须弄清楚循环结束时的条件(例如你的可能是 10)。我已经有一段时间没有使用 VB 编写代码了,但我主要使用 C#,这有点相似。您的代码可能如下所示:

    For k As Integer = 0 To 5
            If (intEmpCount < 10) Then
                If decTotalTax < decGrossPay Then
                    decNetPay = decNetPay
                    boxResults.Items.Add("EMPLOYEE ID: " & dblEmpID.ToString)
                    boxResults.Items.Add("Gross Pay: $" & decGrossPay.ToString("N2"))
                    boxResults.Items.Add("Net Pay: $" & decNetPay.ToString("N2"))
                    boxResults.Items.Add("State Withholdings: $" & decStateTaxAmount.ToString("N2"))
                    boxResults.Items.Add("Federal Withholdings: $" & decFederalTaxAmount.ToString("N2"))
                    boxResults.Items.Add("FICA Withholdings: $" & decFICAAmount.ToString("N2"))
                Else
                    MessageBox.Show("ERROR. THE AMOUNT OF WITHOLDINGS ($" & decTotalTax.ToString("N2") & ") EXCEEDS THE GROSS PAY.")
                End If
            Else
                MessageBox.Show("ERROR. YOU HAVE EXCEEDED THE ALLOWABLE NUMBER OF EMPLOYEES.")
            End if
Next

交替

不过,如果您愿意,可以在 for 循环之前创建一个整型变量,并在每次迭代时在其上添加 +1。所以你可以尝试这样的事情:

Dim k As Integer = 0
    For 'I think this where the counter would go if I knew how to write it
            If (intEmpCount < 10) Then
                If decTotalTax < decGrossPay Then
                    decNetPay = decNetPay
                    boxResults.Items.Add("EMPLOYEE ID: " & dblEmpID.ToString)
                    boxResults.Items.Add("Gross Pay: $" & decGrossPay.ToString("N2"))
                    boxResults.Items.Add("Net Pay: $" & decNetPay.ToString("N2"))
                    boxResults.Items.Add("State Withholdings: $" & decStateTaxAmount.ToString("N2"))
                    boxResults.Items.Add("Federal Withholdings: $" & decFederalTaxAmount.ToString("N2"))
                    boxResults.Items.Add("FICA Withholdings: $" & decFICAAmount.ToString("N2"))
                    k += 1
                Else
                    MessageBox.Show("ERROR. THE AMOUNT OF WITHOLDINGS ($" & decTotalTax.ToString("N2") & ") EXCEEDS THE GROSS PAY.")
                End If
            Else
                MessageBox.Show("ERROR. YOU HAVE EXCEEDED THE ALLOWABLE NUMBER OF EMPLOYEES.")
            End if

然后整数 k 显然是您可以使用的值。如果不是那样,那肯定是很相似的东西。