2016-11-15 35 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