2016-11-15 132 views
-1

的VB代码:如何计算Visual Basic中的用户输入?

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 

的要回答的问题:我如何计算有多少EmployeeIDs已进入?

对于这项任务,我打算假设教授希望我们将员工人数限制为10人,所以我正试图弄清楚如何做到这一点。同样为了这个任务的目的,我们应该假定EmployeeID可以是长达六位或七位数字的任何数字,这取决于公司的规模。

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

+0

将它们添加到“集合”或其他容器。 – Comintern

回答

0

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

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) 

所以这意味着我们声明了一个称为数字的整数,它初始为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显然是你做的任何值。如果不是这样,它肯定会是非常相似的东西。

+0

我想过这样写,但是如果EmployeeID不是0到10之间的单个整数?如果是六位或七位数字呢?我如何解释? – Polly