Ir ao conteúdo

Posts recomendados

Postado

Pessoal,

 

Estou com o codigo abaixo utilizando matris, mas, estou encontrando um erro e nao consegui resolver, peço a ajuda de vocês, alguem poderia me ajudar?

 

Caso tenha mais alguma alteração a ser feita, agradeço a ajuda.

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <ctype.h>
 
main() {
    float p[2],a[2],I_mc[2];
int cont=0;
    char nome[2];
    
    for (cont==0;cont<=3;cont++)
    {
        
    printf("informe o nome : ");
    scanf("%c",&nome[cont]);
    printf("Digite o seu peso:\n");
    scanf("%f", &p[cont]);
    printf("Digite a sua altura:\n");
    scanf("%f", &a[cont]);
    
        I_mc = p / (a*a); //Neste ponto ele esta dando o erro,mas, não consegui entender..
        if (I_mc < 18.5){
               scanf("%f", &imc[cont]);
                      
            }
            
        else if (I_mc >=18.5<25){
                scanf("%f", &imc[cont]);
          
           }
        
        else if (I_mc >=25<30){
          scanf("%f", &imc[cont]);
           }
           
            else (I_mc > 30){
          scanf("%f", &imc[cont]);
           }
                  
                    
    } 
    for(cont==0,cont<=3,cont++) {
 printf("abaixo do peso e %.2f e esta Normal\n", I_mc[cont] );
 printf (" peso normal %.2f e voce esta Obeso\n", I_mc[cont]);
 printf("acima do peso %.2f e voce esta com Obesidade Morbida\n", I_mc[cont]);
 printf("obeso %.2f e voce esta com Obesidade Morbida\n",I_mc[cont]);
 
}
  system("pause");
}
Postado


I_mc = p / (a*a); //Errado, I_mc é um vetor

//correto

I_mc[cont] = p / (a*a);


else if (I_mc >=18.5<25){ // essa condição do if está errada

scanf("%f", &imc[cont]);

}

// o certo seria

if (I_mc[cont] >=18.5 && I_mc[cont]<25){

Postado
I_mc = p / (a*a);  //Errado, I_mc é um vetor//corretoI_mc[cont] = p / (a*a);
else if (I_mc >=18.5<25){ // essa condição do if está errada  scanf("%f", &imc[cont]);}// o certo seriaif (I_mc[cont] >=18.5 && I_mc[cont]<25){

 

Obrigado pelo retorno, entendi, mas, foi solicitado em matriz multidimensional, tenho esse codigo, mas, ele esta parado de rodar quando escrevo o ultimo parametro, pode verificar o erro? tenho que imprimir nome, idade, peso, altura e IMC, segue o codigo que tenho.

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define t 100
main()
{
 
     float matIMC [t][3]; 
     float peso[t],altura[t], media_peso, media_altura;
     int idade[t];
     int i,j;
     char nome[t];
    
    
  
   for (j=0;j<3;j++)                
          {
        printf("\nDigite o nome:\t");
    scanf("%s",&nome[j] );
        printf("Digite a idade:\t");
    scanf("%d", &idade[j]);
        printf("\n    Peso:") ;
    scanf("%f",&peso[j]); // "peso" não foi declarado como matriz
        printf("\n  Altura: ");
     scanf("%f",&altura[j]); // "altura" não foi de clarado como matriz
                                          
           matIMC[j] = (peso[j] / (altura[j] * altura[j]));
         
        }
        printf("-------------------Indice IMC---------------------\n");
        printf(" Nome    |  Idade   |   Peso |    Altura|    IMC  \n");   
        printf(" ------------------------------------------------ \n");
 
 
 
          media_peso=0;
          media_altura=0;  
 //acima_peso=0; 
     
      for (j=0;j<3;j++)    {
      printf("\n  %s %d %3.2f  %3.2f  %3.2f ", nome[j], idade[j], peso[j],altura[j],matIMC[j]);
 
                    if (matIMC[j] <= 18.5)
                  puts("Abaixo do peso");
              else if (matIMC[j] <= 25)
                puts("Peso Normal");
              else if (matIMC[j] < 30)
                puts("Acima do Peso");
              else
                puts("Obeso");
 
media_peso   = media_peso+ peso[j];
media_altura = media_altura +altura[j];
//acima_peso = acima_peso +acima_peso[j]; 
            
               }
             media_peso =media_peso/ t;
             media_altura =media_altura/t;
           
             printf("\n\nMedia de Peso ==> %3.2f ",media_peso);
             printf("\n\nMedia Altura  ==> %3.2f\n\n\n ",media_altura);
             //printf("\n\nAcima do Peso  ==> %d\n\n\n ",acima_peso);
             system("pause");
    return 0;
         }
 
Postado

Obrigado pelo retorno, entendi, mas, foi solicitado em matriz multidimensional, tenho esse codigo, mas, ele esta parado de rodar quando escrevo o ultimo parametro, pode verificar o erro? tenho que imprimir nome, idade, peso, altura e IMC, segue o codigo que tenho.

 


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define t 100
main()
{
 
     float matIMC [t][3]; 
     float peso[t],altura[t], media_peso, media_altura;
     int idade[t];
     int i,j;
     char nome[t];
    
    
  
   for (j=0;j<3;j++)                
          {
        printf("\nDigite o nome:\t");
    scanf("%s",&nome[j] );
        printf("Digite a idade:\t");
    scanf("%d", &idade[j]);
        printf("\n    Peso:") ;
    scanf("%f",&peso[j]); // "peso" não foi declarado como matriz
        printf("\n  Altura: ");
     scanf("%f",&altura[j]); // "altura" não foi de clarado como matriz
                                          
           matIMC[j] = (peso[j] / (altura[j] * altura[j]));
         
        }
        printf("-------------------Indice IMC---------------------\n");
        printf(" Nome    |  Idade   |   Peso |    Altura|    IMC  \n");   
        printf(" ------------------------------------------------ \n");
 
 
 
          media_peso=0;
          media_altura=0;  
 //acima_peso=0; 
     
      for (j=0;j<3;j++)    {
      printf("\n  %s %d %3.2f  %3.2f  %3.2f ", nome[j], idade[j], peso[j],altura[j],matIMC[j]);
 
                    if (matIMC[j] <= 18.5)
                  puts("Abaixo do peso");
              else if (matIMC[j] <= 25)
                puts("Peso Normal");
              else if (matIMC[j] < 30)
                puts("Acima do Peso");
              else
                puts("Obeso");
 
media_peso   = media_peso+ peso[j];
media_altura = media_altura +altura[j];
//acima_peso = acima_peso +acima_peso[j]; 
            
               }
             media_peso =media_peso/ t;
             media_altura =media_altura/t;
           
             printf("\n\nMedia de Peso ==> %3.2f ",media_peso);
             printf("\n\nMedia Altura  ==> %3.2f\n\n\n ",media_altura);
             //printf("\n\nAcima do Peso  ==> %d\n\n\n ",acima_peso);
             system("pause");
    return 0;
         }
 

 

Visitante
Este tópico está impedido de receber 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!