Ir ao conteúdo
  • Cadastre-se

Ajuda com trabalho em C++


CURIOSO22

Posts recomendados

Galera preciso urgente de uma ajuda, preciso fazer um trabalho para amanhã e já fiz uma parte e não consigo terminar, pois não estou conseguindo fazer a parte final.

 

Segue a legenda do trabalho:

 

Crie um programa que receba o Nome, idade, peso e altura de 20 pessoas e ao final exiba  todos os dados e ainda: IMC de cada pessoa e quantas pessoas estão acima do peso médio.

 

Abaixo o que conseguir fazer

#include <stdio.h>#include <stdlib.h>#include <string.h>    int i;    float imc;    struct Pessoa {char nome [20]; int idade; float peso, altura;};    struct Pessoa p [1]; main(){    for (i = 1; i <=1; i++)    {    printf("Digite o nome \n", i);    scanf("%s",&p[i].nome );    printf("Digite a idade \n", i);    scanf("%d", &p[i].idade);    printf("Digite o peso \n", i);    scanf("%f", &p[i].peso);    printf("Digite a altura \n", i);    scanf("%f", &p[i].altura);    }    imc = p[i].peso / (p[i].altura*p[i].altura);    if ( imc <= 18.5){    printf("Abaixo do peso normal");    }    else if (imc > 18.5 || imc <= 25){    printf("Peso Normal");    }    else if(imc >25 || imc <=30){    printf("Peso acima do normal");    }    else if (imc >30){    printf("Peso Excessivo");    }    printf("nome %s", p[i].nome); está dando errado system("pause");}
Link para o comentário
Compartilhar em outros sites

Bom, tinha bastante coisa errada, como  passar parâmetro no printf que solicita os dados, e também sua lógica ficou um tanto falha, como por exemplo na comparação do IMC, você deveria utilizar o operador lógico AND, porém utilizou OR.

 

Aqui vai o código pronto, como se pede o exercício. Estou ciente que dar o código pronto não é o correto, porém neste caso você já fez grande parte, apenas errou um pouco, assim você pode utilizar meu código para comparar e verificar onde errou, servindo de aprendizado(espero que isso realmente aconteça, pro seu bem).

#include <stdio.h>#include <stdlib.h>int i;float imc;struct Pessoa {char nome [20]; int idade; float peso, altura;};struct Pessoa p [20];main(){    for (i = 1; i <=20; i++)    {        printf("\nDigite o nome:\t");        scanf("%s",&p[i].nome );        printf("Digite a idade:\t");        scanf("%d", &p[i].idade);        printf("Digite o peso:\t");        scanf("%f", &p[i].peso);        printf("Digite a altura:");        scanf("%f", &p[i].altura);    }    int total = 0;    for(i = 1; i <= 20; i++)    {        printf("\n\nNome: %s", p[i].nome);        printf("\nIdade: %d",p[i].idade);        printf("\nPeso: %0.2f", p[i].peso);        printf("\nAltura: %0.2f",p[i].altura);        printf("\nIMC: ");        imc = p[i].peso / (p[i].altura*p[i].altura);        if(imc <= 18.5)        {            printf("Abaixo do peso normal");        }        else if (imc > 18.5 && imc <= 25)        {            printf("Peso Normal");        }        else if(imc > 25 && imc <=30)        {            total++;            printf("Peso acima do normal");        }        else if (imc > 30)        {            total++;            printf("Peso Excessivo");        }    }    printf("\n\nTotal de pessoas acima do peso:\t%d\n\n", total);    system("pause");    return 0;}

Abraços :).

Link para o comentário
Compartilhar em outros sites

Muito Obrigado Dolbycpp.

 

Estou ciente dos erros, só queria saber onde, mas grande parte consegui fazer como você mesmo citou. Vou pegar se código e verificar os erros para não cometer mais.

 

Porém sou novato em C++, se puder indicar algumas aulas online ou apostilas agradeceria.

Link para o comentário
Compartilhar em outros sites

Bom, caso você já tenha certa fluência em inglês, você pode dar uma olhada no site LearnCpp, ele é bem completo, mas caso ainda não saiba nada de inglês, recomendo estudar e aprender um pouco, pois além do inglês ser a "língua da internet", você vai encontrar ótimos materiais nessa linguagem, e também ira lhe abrir várias possibilidades, entre elas a troca de experiências com pessoas do mundo todo que a utilizam para se comunicar pela internet.

 

Abraços e boa sorte.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!