2016-05-02 16 views
-2

In diesem Teil, wenn meine Taille weniger als 60 und Höhe größer als 120 ist, wird das Ergebnis angezeigt. Aber wenn die Taille größer als 60 und die Höhe kleiner als 120 ist, wird das Ergebnis nicht angezeigt. Wie man die erste Situation blockiert, passiert, dass das Ergebnis angezeigt werden sollte.Warum zeigt es immer noch Ergebnisse

  if (this.Male.Checked) { 
      if (waist < 60) { 
       MessageBox.Show("Your waist is too low to calculate, please enter a higer numer"); 
      } 

      if (height < 120) { 
       MessageBox.Show("Your height is too low to calculate, please enter a higer numer"); 
      } 
      else{ 

       if (ratio < Male_Risk) { 
        MessageBox.Show("Your ratio is: " + ratio + "\n" + "your raito is at low risk, please be careful"); 

       } 
       else { 
        MessageBox.Show("Your ratio is: " + ratio + "\n" + "Warning : your raito is at high risk, please save yourself!"); 

       } 

      } 
     } 
+0

Da gibt es keine "sonst" Aussage binden die beiden ich f-Aussagen zusammen sollten sie unabhängig arbeiten. Bitte erläutern Sie mehr und versuchen Sie, Ihre Anwendung zu debuggen. –

+0

Verwenden Sie sonst, wenn statt zweimal wenn, jetzt sind sie separate Bedingungen, so dass die If (Höhe <120) sollte sonst sein (Höhe <120) –

+0

Aber sobald meine beiden Werte niedriger als begrenzt sind, zeigt es nur eine Nachricht, dass Taille ist niedrig – Donald

Antwort

1

Ihre if Aussagen für die Taille und Höhe Prüfung sind nicht miteinander verbunden. Wenn Ihr Patient also eine Taille größer als 60 hat, aber seine Körpergröße weniger als 120 ist, wird Ihr Ergebnis nicht angezeigt, da die zweite if-Aussage nicht mit der obigen if-Aussage verknüpft ist. Das heißt, die sonst Teil nur ist größer als 120.

Gerade if(height < 120)else if(height < 120)

Wie dies ändern angezeigt, wenn Höhe:

if (this.Male.Checked) 
{ 
    if (waist < 60) 
    { 
     MessageBox.Show("Your waist is too low to calculate, please enter a higer numer"); 
    } 

    else if (height < 120) 
    { 
     MessageBox.Show("Your height is too low to calculate, please enter a higer numer"); 
    } 
    else 
    { 
     if (ratio < Male_Risk) 
     { 
      MessageBox.Show("Your ratio is: " + ratio + "\n" + "your raito is at low risk, please be careful"); 
     } 
     else 
     { 
      MessageBox.Show("Your ratio is: " + ratio + "\n" + "Warning : your raito is at high risk, please save yourself!"); 
     } 
    } 
} 

Wenn Sie beide MessageBox ‚s zeigen möchten, können Sie müssen Sie die Taille und Höhe in einem separaten if wie folgt setzen:

if(waist < 60 || height < 120) 
{ 
    if (waist < 60) 
    { 
     MessageBox.Show("Your waist is too low to calculate, please enter a higer numer"); 
    } 
    if (height < 120) 
    { 
     MessageBox.Show("Your height is too low to calculate, please enter a higer numer"); 
    } 
} 
else 
{ 
    // Put your ratio results here... 
} 
+0

was ist, wenn beide Werte niedriger sind die begrenzte, es zeigen nur ein Meldungsfeld – Donald

+0

Ja natürlich. Weil sie jetzt miteinander verbunden sind. Wenn Sie beide Meldungsfelder anzeigen möchten, warten Sie auf meine Antwort zu aktualisieren – brothers28

+0

Prost bro. !!!! – Donald

Verwandte Themen