(1) Desenvolva um programa que defina um registro chamado Pessoa, contendo os seguintes campos: nome, idade, peso (em quilogramas) e altura (em metros). O programa deve calcular o Índice de Massa Corporal (IMC) da pessoa e classificar o resultado em uma das faixas de IMC predefinidas. Imprima o nome da pessoa, seu IMC e em qual faixa do IMC ela se encontra conforme apresentado no exemplo.
& Índice de Massa Corporal & IMC = Peso (Kg) AÍ
Até 6 anos: Acima de 60 anos:
|l|l| hline Até 6 anos: & Acima de 60 anos: hline$bul<=t$ Menor que 18,5 = Abaixo do peso & Menor que $22=$ Abaixo do peso $bul<=t$ Entre 18,5 e $24,99=$ Peso ideal & - Entre 22 e $27=$ Peso ideal - Entre 25 e $29,99=$ Sobrepeso & - Entre 27 e $29,99=$ Sobrepeso - Acima de $30=$ Obesidade & - Acima de $30=$ Obesidade hline Menor que 18,5 = Abaixo do peso • Menor que IMC=26.04 Abaixo do peso
IMC=20.37 Entre 18,5 e Peso ideal - Entre 22 e Peso ideal
- Entre 25 e Sobrepeso - Entre 27 e Sobrepeso
- Acima de Obesidade - Acima de Obesidade

Exemplo 1: Exemplo de entrada:

Entre com os dados da Pessoa:
Digite o nome: Maria
Digite a idade: 29
Digite o peso (em quilogramas): 65
Digite a altura (em metros): 1.58

Exemplo de saída:

Maria possui o e está em Sobrepeso.

Exemplo 2: Exemplo de entrada:

Entre com os dados da Pessoa:
Digite o nome: José
Digite a idade: 64
Digite o peso (em quilogramas): 72
Digite a altura (em metros): 1.88

Exemplo de saída:

José possui o e está em Abaixo do peso.

Passo 1

Beleza, o enunciado pede pra gente criar um “registro” (em C a gente usa struct) chamado Pessoa, com campos nome, idade, peso e altura. Depois, o programa deve ler esses dados, calcular o IMC usando a fórmula
IMC = peso (kg)l(a
e, com base na idade, classificar o resultado em faixas diferentes (até 60 anos e acima de 60). Por fim, imprime o nome, o IMC com duas casas decimais e a classificação.
Pra resolver isso, vamos precisar de:
• Struct em C pra agrupar os campos.
scanf/printf pra entrada e saída.
• Operações matemáticas simples pra calcular o IMC.
• Estruturas de decisão (if/else) pra classificar o IMC.

Passo 2

Definindo o struct Pessoa. Em C, um struct é um jeito de juntar vários dados em um só objeto. Aqui a gente quer algo assim:
struct Pessoa {
    char nome[50];   // guarda o nome como string
    int  idade;      // guarda a idade
    float peso;      // guarda o peso em kg
    float altura;    // guarda a altura em m
};
Isso cria um tipo “Pessoa” que já traz nome, idade, peso e altura juntinhos.

Passo 3

Lendo os dados do usuário. Em C, a gente usa printf pra mostrar mensagem e scanf pra ler o que o usuário digita. Por exemplo:
printf("Digite o nome: ");
scanf("%49s", p.nome);     // %s lê string (até espaço) e 49 limita pra não estourar
printf("Digite a idade: ");
scanf("%d", &p.idade);     // %d lê inteiro
printf("Digite o peso (em kg): ");
scanf("%f", &p.peso);      // %f lê float
printf("Digite a altura (em m): ");
scanf("%f", &p.altura);    // %f lê float

Passo 4

Calculando o IMC. A fórmula, como já vimos, é
IMC = pesoa
Em código C, fica assim:
float imc = p.peso / (p.altura * p.altura);
Aqui a gente faz p.altura * p.altura pra elevar ao quadrado.

Passo 5

Classificando o IMC. Como a faixa muda se a pessoa tem até 60 anos ou mais, a gente faz um if aninhado:
char *faixa;
if (p.idade <= 60) {
    if (imc < 18.5f)                faixa = "Abaixo do peso";
    else if (imc < 25.0f)           faixa = "Peso ideal";
    else if (imc < 30.0f)           faixa = "Sobrepeso";
    else                             faixa = "Obesidade";
} else {
    if (imc < 22.0f)                faixa = "Abaixo do peso";
    else if (imc < 27.0f)           faixa = "Peso ideal";
    else if (imc < 30.0f)           faixa = "Sobrepeso";
    else                             faixa = "Obesidade";
}

Passo 6

Mostrando o resultado. A gente quer algo no formato:
Nome possui o IMC=xx.xx e está em <faixa>.
Em C:
printf("%s possui o IMC=%.2f e está em %s.\n", p.nome, imc, faixa);
O %.2f formata o float com duas casas decimais.

Resposta

#include <stdio.h>

struct Pessoa {
    char nome[50];
    int  idade;
    float peso;
    float altura;
};

int main() {
    struct Pessoa p;
    
    // Entrada de dados
    printf("Entre com os dados da Pessoa:\n");
    printf("Digite o nome: ");
    scanf("%49s", p.nome);
    printf("Digite a idade: ");
    scanf("%d", &p.idade);
    printf("Digite o peso (em quilogramas): ");
    scanf("%f", &p.peso);
    printf("Digite a altura (em metros): ");
    scanf("%f", &p.altura);
    
    // Cálculo do IMC: IMC = peso / (altura^2)
    float imc = p.peso / (p.altura * p.altura);
    
    // Classificação do IMC de acordo com a idade
    char *faixa;
    if (p.idade <= 60) {
        if (imc < 18.5f)        faixa = "Abaixo do peso";
        else if (imc < 25.0f)   faixa = "Peso ideal";
        else if (imc < 30.0f)   faixa = "Sobrepeso";
        else                    faixa = "Obesidade";
    } else {
        if (imc < 22.0f)        faixa = "Abaixo do peso";
        else if (imc < 27.0f)   faixa = "Peso ideal";
        else if (imc < 30.0f)   faixa = "Sobrepeso";
        else                    faixa = "Obesidade";
    }
    
    // Saída
    printf("%s possui o IMC=%.2f e está em %s.\n", p.nome, imc, faixa);
    
    return 0;
}

Exercícios relacionados