Problems with if doing 2 functions

1

I have to make a code where I calculate the imc, but if the person is 15 years old or less not to be calculated but still calculating

#include <stdio.h>

void main()
{
         float peso, altura, imc, idade;
         printf ("digite seu peso:\n");
         scanf ("%f", &peso);

         printf ("digite sua altura:\n");
         scanf ("%f", &altura);

         printf ("digite sua idade:\n");
         scanf("%f", &idade);

      imc = peso/(altura*altura);

               if (idade <=15);{
                  printf ("O IMC não é uma boa medida de sobrepeso para crianças!");
         }
             if (imc < 24){
                      printf ("O seu indice de Massa Corporal e %.2f e esta abaixo do peso ideal\n", imc);
             }
             if (imc >= 25 && imc <=25.99){
            printf("O seu indice de Massa Corporal e %.2f e esta normal\n", imc);
            }

        if (imc >= 26 && imc < 30){
           printf ("O seu indice de Massa Corporal e %.2f e voce esta obeso\n", imc);
           }

       else{
           printf("O seu indice de massa corporal e %.2f e voce esta com obesidade I ou superior\n", imc);
           }     
}
    
asked by anonymous 26.03.2018 / 20:11

3 answers

1

There was ; in if (idade <=15);{ . I made other adjustments, such as adding else and repositioning the imc calculation to run it only when the person's age exceeds 15, in order to improve performance. >

#include <stdio.h>

void main()
{
     float peso, altura, imc, idade;
     printf ("digite seu peso:\n");
     scanf ("%f", &peso);

     printf ("digite sua altura:\n");
     scanf ("%f", &altura);

     printf ("digite sua idade:\n");
     scanf("%f", &idade);

     if (idade <= 15){
        printf ("O IMC não é uma boa medida de sobrepeso para crianças!");
     } else {

        imc = peso/(altura*altura);

        if (imc < 24){
           printf ("O seu indice de Massa Corporal e %.2f e esta abaixo do peso ideal\n", imc);
        } else
        if (imc >= 25 && imc < 26){
           printf("O seu indice de Massa Corporal e %.2f e esta normal\n", imc);
        } else
        if (imc >= 26 && imc < 30){
          printf ("O seu indice de Massa Corporal e %.2f e voce esta obeso\n", imc);
        } else {
          printf("O seu indice de massa corporal e %.2f e voce esta com obesidade I ou superior\n", imc);
        }
     }  
}
    
26.03.2018 / 20:28
1
void main() { 
float peso, altura, imc, idade; 
printf ("digite seu peso:\n"); 
scanf ("%f", &peso);

     printf ("digite sua altura:\n");
     scanf ("%f", &altura);

     printf ("digite sua idade:\n");
     scanf("%f", &idade);

  imc = peso/(altura*altura);

           if (idade <= 15){
              printf ("O IMC não é uma boa medida de sobrepeso para crianças!");
     }
else{
         if (imc < 24){
                  printf ("O seu indice de Massa Corporal e %.2f e esta abaixo do peso ideal\n", imc);
         }
         if (imc >= 25 && imc <=25.99){
        printf("O seu indice de Massa Corporal e %.2f e esta normal\n", imc);
        }

    if (imc >= 26 && imc < 30){
       printf ("O seu indice de Massa Corporal e %.2f e voce esta obeso\n", imc);
       }

   else{
       printf("O seu indice de massa corporal e %.2f e voce esta com obesidade I ou superior\n", imc);
       }     
}
}
    
26.03.2018 / 20:16
1

You were leaving a ; after checking if , exactly here: if (idade <=15);{ . With that his code always jumped to make the calculation, since he was not depending on if . Here is corrected code.

#include <stdio.h>

void main()
{
         float peso, altura, imc, idade;
         printf ("digite seu peso:\n");
         scanf ("%f", &peso);

         printf ("digite sua altura:\n");
         scanf ("%f", &altura);

         printf ("digite sua idade:\n");
         scanf("%f", &idade);

      imc = peso/(altura*altura);

               if (idade <=15){
                  printf ("O IMC não é uma boa medida de sobrepeso para crianças!");
         }
             if (imc < 24){
                      printf ("O seu indice de Massa Corporal e %.2f e esta abaixo do peso ideal\n", imc);
             }
             if (imc >= 25 && imc <=25.99){
            printf("O seu indice de Massa Corporal e %.2f e esta normal\n", imc);
            }

        if (imc >= 26 && imc < 30){
           printf ("O seu indice de Massa Corporal e %.2f e voce esta obeso\n", imc);
           }

       else{
           printf("O seu indice de massa corporal e %.2f e voce esta com obesidade I ou superior\n", imc);
           }     
}
    
26.03.2018 / 20:25