Boa noite pessoal. Sou iniciante em C, comecei a faculdade esse semestre. Enfim, estou querendo criar um codigo simples para calculo do IMC. É exigido que se peçam dados para o usuario, nome, idade, sexo, etc.... e depois imprima na tela os mesmos dados com o resultado do IMC. A dor de cabeça que estou tendo é na hora de imprimir o nome do usuario, a função não esta "puxando" o nome digitado e imprimindo na tela. Por favor, algume me ajuda a identificar qual o problema!!!! Se tiver qualquer outro erro, me ajudem pfvr! Brigadão
printf ("\t\t\t\t\t\t\t\t\t\t\t\t\ RESULTADO DA ANÁLISE\n");
//Comparações de sexo,doador e idade {
if (sex == 'f')
printf ("\nSra. %s \n", nome);
else if (sex == 'm')
printf ("\nSr. %s\n", nome);
if (idade >= 60)
printf ("\nPor favor, venha pela fila preferencial\n");
else if (idade < 60)
printf ("\nLamento, você ainda não tem direito a fila preferencial.\n");
if (doador == 0)
printf ("\nConvidamos você a ser um doador(a)!\n");
else if (doador == 1)
printf ("\nParabéns por ser um doador(a) de sangue!\n");
}
//Cálculo de IMC e instruções de comparação
imc = peso/(pow(altura,2));
if (imc < 17){
printf ("\nAtenção, você está muito abaixo do peso, seu IMC é %.2f\n", imc);
}
if (imc >= 17 && imc <= 18.49){
printf ("\nVocê está abaixo do peso, seu IMC é %.2f\n", imc);
}
if (imc >= 18.5 && imc <= 24.99){
printf ("\nVocês está no peso normal, seu IMC é %.2f\n", imc);
}
if (imc >= 25 && imc <= 29.99){
printf ("\nVocê está acima do peso, seu IMC é %.2f\n", imc);
}
if (imc >= 30 && imc <= 34.99){
printf ("\nAtenção, você tem Obesidade grau I, seu IMC é %.2f\n", imc);
}
if (imc >= 35 && imc <= 39.99){
printf ("\nAtenção, você tem Obesidade grau II, seu IMC é %.2f\n", imc);
}
if (imc >= 40){
printf ("\nAtenção, você tem Obesidade grau III, seu IMC é %.2f\n", imc);
}
Pergunta
rodolf0
Boa noite pessoal. Sou iniciante em C, comecei a faculdade esse semestre. Enfim, estou querendo criar um codigo simples para calculo do IMC. É exigido que se peçam dados para o usuario, nome, idade, sexo, etc.... e depois imprima na tela os mesmos dados com o resultado do IMC. A dor de cabeça que estou tendo é na hora de imprimir o nome do usuario, a função não esta "puxando" o nome digitado e imprimindo na tela. Por favor, algume me ajuda a identificar qual o problema!!!! Se tiver qualquer outro erro, me ajudem pfvr! Brigadão
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
int main ()
{
setlocale (LC_ALL, "Portuguese");
char nome[10], sex, m, f;
int idade, doador;
float altura, peso, imc;
printf("\nDigite seu nome:\n");
fflush (stdin);
gets(nome);
printf ("\nIdade:\n");
scanf ("%d", &idade);
printf ("\nSexo (m ou f):\n");
scanf ("%s", &sex);
printf ("\nDoador: (0 - não ; 1 - sim)\n");
scanf ("%d", &doador);
printf ("\nAltura:\n");
scanf ("%f", &altura);
printf ("\nPeso:\n");
scanf ("%f", &peso);
printf ("\t\t\t\t\t\t\t\t\t\t\t\t\ RESULTADO DA ANÁLISE\n");
//Comparações de sexo,doador e idade
{
if (sex == 'f')
printf ("\nSra. %s \n", nome);
else if (sex == 'm')
printf ("\nSr. %s\n", nome);
if (idade >= 60)
printf ("\nPor favor, venha pela fila preferencial\n");
else if (idade < 60)
printf ("\nLamento, você ainda não tem direito a fila preferencial.\n");
if (doador == 0)
printf ("\nConvidamos você a ser um doador(a)!\n");
else if (doador == 1)
printf ("\nParabéns por ser um doador(a) de sangue!\n");
}
//Cálculo de IMC e instruções de comparação
imc = peso/(pow(altura,2));
if (imc < 17){
printf ("\nAtenção, você está muito abaixo do peso, seu IMC é %.2f\n", imc);
}
if (imc >= 17 && imc <= 18.49){
printf ("\nVocê está abaixo do peso, seu IMC é %.2f\n", imc);
}
if (imc >= 18.5 && imc <= 24.99){
printf ("\nVocês está no peso normal, seu IMC é %.2f\n", imc);
}
if (imc >= 25 && imc <= 29.99){
printf ("\nVocê está acima do peso, seu IMC é %.2f\n", imc);
}
if (imc >= 30 && imc <= 34.99){
printf ("\nAtenção, você tem Obesidade grau I, seu IMC é %.2f\n", imc);
}
if (imc >= 35 && imc <= 39.99){
printf ("\nAtenção, você tem Obesidade grau II, seu IMC é %.2f\n", imc);
}
if (imc >= 40){
printf ("\nAtenção, você tem Obesidade grau III, seu IMC é %.2f\n", imc);
}
return 0;
}
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.