"Faça um programa que receba o sexo da pessoa, digitado como um caractere
(‘h’ e ‘H’ para homens, ‘m’ e ‘M’ para mulheres), e mostre o seu peso ideal, de
acordo com a sua altura. Utilize as fórmulas abaixo.
Homens: (72,7*altura) - 58
Mulheres: (62,1*altura) - 44,7"
Independente se coloco H ou M ou um char invalido(que deveria entrar no else final) ele calcula como se fosse H e nao faz o do-while se estiver errado...
To quebrando a cabeca e nao consigo descobrir
Desde ja agradeco
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
int main() {
char c; float peso,altura ;
printf("insira sua altura por favor em Metros.cm\n") ;
scanf("%f",&altura);
printf("\nvc e H ou M? H/M\n") ;
c=getche();
if (c=(('H')||('h'))) {
peso=((72.7*altura)-58) ;
printf("peso ideal=%f\n",peso);
} else if(c=(('M')||('m'))){
peso=((62.1*altura)-44.7);
printf("peso ideal=%f\n",peso);
}
else {
do{printf("caractere invalido, tente novamente\n");
printf("\ninsira sua altura em Metros.cm por favor\n") ;
scanf("%f",&altura);
printf("\nvc e H ou M? H/M\n") ;
c=getche();
if (c=(('H')||('h'))) {
peso=((72.7*altura)-58) ;
printf("peso ideal=%f\n",peso);
} else if(c=(('M')||('m'))){
peso=((62.1*altura)-44.7);
printf("peso ideal=%f\n",peso);
}
}
while (c!=(('H')||('h'))||(('M')||('m'))) ;
return(0);
}
}