Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Struct (Estruturas, Registros) |
Problema do cálculo e consulta do IMC de uma pessoa. Escrever um programa que cadastre o nome, a altura, o peso, o cpf e sexo de algumas pessoas - Exercícios Resolvidos de CQuantidade de visualizações: 2011 vezes |
Pergunta/Tarefa: Problema do cálculo e consulta do IMC de uma pessoa. Escrever um programa que cadastre o nome, a altura, o peso, o cpf e sexo de algumas pessoas. Com os dados cadastrados, em seguida localizar uma pessoas através do seu CPF e imprimir o seu IMC. Sua saída deverá ser parecida com: LEITURA DAS PESSOAS: Nome da Pessoa 1: OSMAR J SILVA Sexo da Pessoa 1: M Peso da Pessoa 1: 102 Atura da Pessoa 1: 1,87 CPF da Pessoa 1: 1234 Informe o CPF da pessoa a ser localizada: 1234 DADOS DA PESSOA ENCONTRADA: Nome: OSMAR J SILVA Sexo: M Peso: 102,00 Altura: 1,87 IMC: 29,17 Veja a resolução comentada deste exercício usando Python console: #include <stdio.h> #include <stdlib.h> #include <locale.h> // estrutura Pessoa typedef struct{ char nome[80]; // nome da pessoa char sexo; // 'M' = masculino; 'F' = feminino float peso; // peso da pessoa float altura; // altura da pessoa long long cpf; // CPF da pessoa } Pessoa; // define a quantidade de pessoas que serão lidas #define QUANT_PESSOAS 3 int main(int argc, char *argv[]) { int i; // controle do laço long long cpf_pesquisa; // para pesquisar o CPF Pessoa pessoas[QUANT_PESSOAS]; // vetor de pessoas int encontrado = 0; // status da pesquisa float imc; // para o cálculo do IMC setlocale(LC_ALL,""); // para acentos do português printf("LEITURA DAS PESSOAS:\n\n"); for(i = 0; i < QUANT_PESSOAS; i++){ // vamos ler o nome da pessoa printf("Nome da Pessoa %d: ", (i + 1)); gets(pessoas[i].nome); // vamos ler o sexo printf("Sexo da Pessoa %d: ", (i + 1)); scanf("%c", &pessoas[i].sexo); // vamos ler o peso printf("Peso da Pessoa %d: ", (i + 1)); scanf("%f", &pessoas[i].peso); // vamos ler a altura printf("Atura da Pessoa %d: ", (i + 1)); scanf("%f", &pessoas[i].altura); // vamos ler o CPF printf("CPF da Pessoa %d: ", (i + 1)); scanf("%Lu", &pessoas[i].cpf); fflush(stdin); // para o scanf não sair pulando } // agora vamos ler o CPF a ser pesquisado printf("\nInforme o CPF da pessoa a ser localizada: "); scanf("%Lu", &cpf_pesquisa); // vamos varrer o vetor de pessoas para encontrar a pessoa // cujo CPF foi informado for(i = 0; i < QUANT_PESSOAS; i++){ if(pessoas[i].cpf == cpf_pesquisa){ encontrado = 1; // marca como encontrado // calcula o IMC imc = pessoas[i].peso / (pessoas[i].altura * pessoas[i].altura); // mostramos os dados da pessoa encontrada printf("\nDADOS DA PESSOA ENCONTRADA:\n\n"); printf("Nome: %s\n", pessoas[i].nome); printf("Sexo: %c\n", pessoas[i].sexo); printf("Peso: %.2f\n", pessoas[i].peso); printf("Altura: %.2f\n", pessoas[i].altura); printf("IMC: %.2f\n", imc); } } // a pessoa não foi encontrada? if(!encontrado){ printf("\nPessoa não encontrada."); } printf("\n\n"); system("pause"); return 0; } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Java - Padrões de projeto para iniciantes - Como usar o padrão de projeto Singleton em suas aplicações Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |