2015-02-10 92 views
0

我有一個程序,確定一個數字是否是奇數,甚至有合適的標籤說總數是什麼,還有一個計數器,但我需要幫助,試圖讓程序忽略0,因爲當你在程序中輸入它,它意味着完成,但也算作偶數,並將其添加到EvenCount,謝謝!讓一個程序忽略一個數

Public Class Form1 
Dim Num, Decider, Oddcount, Oddtotal, Evencount, Eventotal As Integer 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Do 
     Num = InputBox("Please enter whole number") 
     Decider = Num Mod 2 
     If Decider > 0 Then 
      MessageBox.Show("Odd") 
      Oddcount += 1 
      Oddtotal += Num 
     Else 
      MessageBox.Show("Even") 
      Evencount += 1 
      Eventotal += Num 
     End If 

    Loop Until Num = 0 
    LabelOdd.Text = Oddtotal 
    LabelEven.Text = Eventotal 
    LabelEvenCount.Text = Evencount 
    LabelOddCount.Text = Oddcount 
End Sub End Class  
+1

你的其他情況,但一個if(Num!= 0)語句 – apomene 2015-02-10 09:57:18

+2

如果你知道如何使用if語句有什麼問題? – Steve 2015-02-10 09:57:51

+1

將你當前的if語句換成另一個請求** if(Num!= 0)** – jbutler483 2015-02-10 09:58:23

回答

2

如果你想忽略零,你最好使用Do..While語句,它在進入循環之前評估條件。

Public Class Form1 

Dim Num, Decider, Oddcount, Oddtotal, Evencount, Eventotal As Integer 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Num = 1 ' Initialised to force in step into loop 
    Do While Num <> 0 
     Num = InputBox("Please enter whole number") 

     ' Recheck the value inserted - if zero, break. 
     If Num = 0 Then Exit While 

     Decider = Num Mod 2 
     If Decider > 0 Then 
      MessageBox.Show("Odd") 
      Oddcount += 1 
      Oddtotal += Num 
     Else 
      MessageBox.Show("Even") 
      Evencount += 1 
      Eventotal += Num 
     End If 
    Loop 

    LabelOdd.Text = Oddtotal 
    LabelEven.Text = Eventotal 
    LabelEvenCount.Text = Evencount 
    LabelOddCount.Text = Oddcount 
End Sub End Class  
+0

這實際上並沒有解決問題,所以我不知道爲什麼它是被接受的答案。 'Num'的值在'Do While'語句被評估後設置,所以如果用戶的輸入是0,那麼'Evencount'的值將會錯誤地增加。 – Aiken 2015-02-10 16:18:24

+0

你是對的,錯過了一條線。感謝您指出。相應地更新答案。 – 2015-02-11 06:05:03