如果/其他(初学者)

时间:2019-11-14 19:29:33

标签: c++ if-statement

int x = 0;

printf("Geben Sie bitte ihr Alter ein \n");
scanf_s("%i",&x);

if (x <= 15)
{
    printf("Sie duerfen keinen Alkohol trinken! \n");
}

else
{
    printf("Sie duerfen Bier trinken \n");

    if (x >= 18)
    {
        printf("Sie duerfen Alkohol jeglicher Art trinken! \n");
    }
}

条件:

  • 0-15岁之间:禁止饮酒
  • 16-17岁之间:允许喝啤酒
  • 18岁以上:允许所有含酒精的饮料

问题是,当您说您已经18岁以上时,它显示了第二部分

printf("Sie duerfen Bier trinken \n");

也是,我真的不知道该如何解决。

2 个答案:

答案 0 :(得分:10)

您可以在早期if的{​​{1}}部分中使用else表达式。这段代码具有三个的不同条件,需要对其进行测试,并且看起来应该更像这样:

if

答案 1 :(得分:3)

if/else语句的工作方式:

if (condition)
{
   //Perform this block of code
}
else
{
    //If the if block wasn't executed, run this block of code
}

如果您是x>=18

if (x<=15)
{
    //This won't get performed
}

else
{
    //This entire block will get performed, because the previous if block wasn't. 
    //So the first print statement in your else block will get executed. 
    if(x>=18)   
    {
        //This block will ALSO get performed
    }
}