Dev - C++ - Estoy empezando y no me funciona este código, no sé porque

 
Vista:

Estoy empezando y no me funciona este código, no sé porque

Publicado por ayenfin (1 intervención) el 09/10/2022 20:02:40
Hola, acabo de comenzar un grado superior y nos han mandado que hagamos un programa que nos diga nuestro IMC. Algo he hecho mal porque solo me sale como resultado "bajo peso" o "normopeso", pero para cualquier otra variable no me sale nada. Compila y se ejecuta, pero ya está. Lo he mirado mil veces y me he bloqueado, no sé qué falla. Pido que no juzguéis porque estoy empezando; sé que es un código muy sencillo. Si alguien me pudiese ayudar, por favor, sería de gran ayuda. Muchas gracias.


--------------------------------------------------------

#include <stdio.h>

int main (){

float altura=0.0f;
float peso=0.0f;
float IMC = 0.0f;

printf ("Introduce tu altura: ");

scanf ("%f", &altura);

printf ("Introduce tu peso: ");

scanf ("%f", &peso);

IMC = (peso/(altura*altura));

if (IMC<=18.5)
{
printf("Estas en bajo peso");
}

else if (IMC==18.6 || IMC<=24.9)
{
printf("Estas en normopeso");
}

else if (IMC==25 || IMC<=26.9)
{
printf("Estas en Sobrepeso Grado 1");
}

else if (IMC==27 || IMC<=27.9)
{
printf("Estas en Sobrepeso Grado 2");
}


}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Estoy empezando y no me funciona este código, no sé porque

Publicado por Danny (3 intervenciones) el 09/10/2022 23:41:16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cmath>
#include <conio.h>
 
using namespace std;
 
int main()
{
    float altura, peso, IMC = 0;
 
    cout << "Digite su altura en (M): ";
    cin >> altura;
    cout << "Digite su peso en (Kg): ";
    cin >> peso;
 
    IMC = (peso / (pow(altura, 2) * 100))*100;
 
    if (IMC <= 18.5)
        cout << "Estas demasiado delgada";
    else if (IMC > 18.5 && IMC <= 24.9)
        cout << "Estas en un buen peso decuado a tu estatura";
    else if (IMC >= 25 && IMC < 30)
        cout << "Tienes unos kilos de mas";
    else
        cout << "Tienes un problema de obesidad";
 
    getch();
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Estoy empezando y no me funciona este código, no sé porque

Publicado por dario (718 intervenciones) el 10/10/2022 07:37:12
Espero esto te ayude.
Salu2.
Un comentario: cuando el IF tiene una sola instruccion no es necesario usar llaves.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
 
int main () {
    float altura=0.0f;
    float peso=0.0f;
    float IMC = 0.0f;
 
    printf ("Introduce tu altura: ");
    scanf ("%f", &altura);
    printf ("Introduce tu peso: ");
    scanf ("%f", &peso);
 
    IMC = peso / (altura * altura);
 
    if (IMC < 18.5)
    {
        printf("\nEstas en bajo peso");
    }
    else if ((IMC >= 18.6) && (IMC<=24.9))
    {
        printf("\nEstas en normopeso");
    }
    else if ((IMC >=25) && (IMC <= 29.9))
    {
        printf("\nEstas en Sobrepeso Grado 1");
    }
    else
    {
        printf("\nEstas en Sobrepeso Grado 2");
    }
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar