2016-11-15 6 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は会社の規模に応じて最大6〜7桁の任意の数値であることが前提です。例えば

: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になるnumberという整数を宣言していることを意味します。同様のことを書いていきますが、ループが終わったときの状態を把握しなければなりません(たとえば、あなたの値は10かもしれません)。私はしばらくの間VBでコード化していないが、私は主にやや似ているC#を行う。あなたががたい場合は、forループ前に整数の変数を作成することができ、そしてそれはを反復処理するたびにその上に+1を追加する代わりに

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 

:あなたのコードは、次のようになります。だから、あなたは次のようなものを試してみるかもしれません:

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の間の単一の整数でない場合はどうなりますか? 6桁または7桁の数字の場合はどうなりますか?それをどうやって説明しますか? – Polly

関連する問題