Ir ao conteúdo
  • Cadastre-se

Erro na estrutura struct - parece


marcosdf

Posts recomendados

Ola pessoal esse e apenas um dos vários códigos que estão dando o mesmo erro. Sempre é depois da variável tipo char. na segunda vez em diante que o laço e feito ja pula direto o nome do cadastro indo para a altura... teriam como me dar uma ajuda.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <strings.h>
#include <locale.h>
#define max 3
struct cadastro {
char nome[30];
int peso;
float altura;
float imc;
};

main(){
char nome_imc[30];
int i;
float m_imc;

cadastro indice[max];
for (i=0;i<max;i++){
printf("Digite o nome: ");
gets(indice[i].nome);
printf("Digite a altura: ");
scanf("%f",&indice[i].altura);
printf("Digite o peso, inteiro: ");
scanf("%d",&indice[i].peso);

indice[i].imc = indice[i].peso/pow(indice[i].altura,2);

}

m_imc = 10000;

for (i=0;i<max;i++){
if (m_imc>indice[i].imc){
m_imc = indice[i].imc;
strcpy(nome_imc,indice[i].nome);
}
}
system("cls");
printf("\t %s tem %.2f de IMC, o menor cadastrado.\n\n",nome_imc,m_imc);
system("pause");
return(0);
}

Ola pessoal da uma força ai, o que esta acontecendo com o codigo. rode ele e veja o que esta acontecendo.

Link para o comentário
Compartilhar em outros sites

antes dos scan de um fflush(stdin), essa função limpa o buffer do teclado, pode ser isso que está fazendo ele pular.

Tente isso


fflush(stdin);
scanf(...);

isso mesmo utilizei a funÇÃo fflush e deu certo esta rodando perfeitamente. Coloquei no final do for.

Muito obrigado!

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...