Como te decía, la estructura no debe guardar el IMC, lo debes sacar de forma que no se pueda modificar, y eso es con una función.
Algo así:
Cada vez que en el código debas obtener el IMC de alguien usas la función.
¿Por qué? Imagínate que IMC se guarda en la estructura y la calculas:
Ahora tienes en p.IMC el índice de masa corporal, pero eso no evita que en cualquier otro punto del programa se haga
A partir de este momento el IMC será 25 porqué sí y no el resultado del cálculo.
Algo así:
Código [Seleccionar]
float get_IMC(tPatient p) {
return weight/(height*height);
}
Cada vez que en el código debas obtener el IMC de alguien usas la función.
¿Por qué? Imagínate que IMC se guarda en la estructura y la calculas:
Código [Seleccionar]
p.IMC = p.wheight/(height*height);
Ahora tienes en p.IMC el índice de masa corporal, pero eso no evita que en cualquier otro punto del programa se haga
Código [Seleccionar]
p.IMC = 25;
A partir de este momento el IMC será 25 porqué sí y no el resultado del cálculo.