C# 为什么它仍然显示结果

C# 为什么它仍然显示结果,c#,C#,在这部分中,如果我的腰围小于60,身高大于120,将显示结果框。但当腰围大于60,身高小于120时,结果不会显示出来。如何阻止第一种情况发生,结果应该显示出来 if (this.Male.Checked) { if (waist < 60) { MessageBox.Show("Your waist is too low to calculate, please enter a higer numer");

在这部分中,如果我的腰围小于60,身高大于120,将显示结果框。但当腰围大于60,身高小于120时,结果不会显示出来。如何阻止第一种情况发生,结果应该显示出来

            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!");

                }

            }
        }
if(this.Male.Checked){
如果(腰围<60){
MessageBox.Show(“您的腰围太低,无法计算,请输入更高的数字”);
}
如果(高度<120){
MessageBox.Show(“您的身高太低,无法计算,请输入更高的数字”);
}
否则{
if(比率<男性风险){
MessageBox.Show(“您的比率是:“+ratio+”\n“+”您的raito风险很低,请小心”);
} 
否则{
MessageBox.Show(“您的比率为:“+ratio+”\n“+”警告:您的raito处于高风险中,请自救!”);
}
}
}

您的
if
检查腰围和身高的语句没有链接在一起。因此,如果您的患者腰围大于60,但身高小于120,则不会显示结果,因为您的第二个if语句与上面的if语句没有关联。这意味着只有当高度大于120时,才会显示else零件

只需将
if(高度<120)
更改为
else if(高度<120)

像这样:

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!");
        }
    }
}

由于没有
else
语句将两个if语句绑定在一起,因此它们应该独立工作。请详细解释并尝试调试您的应用程序。使用else if而不是两次if,现在它们是独立的条件,因此if(高度但一旦我的两个值都低于限制值,它只显示一条信息,即腰围低如果两个值都低于限制值,它只显示一个消息框是的,当然。因为现在它们链接在一起。如果要显示两个消息框,请等待我的答案更新。)
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...
}