Ir para conteúdo
Fórum Script Brasil
  • 0

Programa De Registro


sl@ckw@re

Pergunta

#include<stdio.h>
#include<stdlib.h>
int main(){
int i,opcao;
float somaAltura=0,mg;
struct
{
char nome[30];
float altura;
}pessoas[15];
printf("\nMenu");
printf("\n1-Cadastrar as 15 pessoas");
printf("\n2-Mostrar registro dos menores que 1,5m");
printf("\n3-Mostrar registro dos maiores que a media geral das alturas");
printf("\n4-Sair do programa");
printf("\nDigite a opcao desejada:");
scanf("%d",&opcao);
if(opcao>1)
return 0;
for(i=0;i<=15;i++)
{
fflush(stdin);
printf("Nome:");
gets(pessoas[i].nome);
fflush(stdin);
printf("\nAltura:");
scanf("%f",&pessoas[i].altura);
somaAltura=somaAltura+pessoas[i].altura;

}
mg=somaAltura/15;
printf("Digite um nova opção:");
scanf("%d",&opcao);
if(opcao=='2'){
if(pessoas[i].altura<1.5)
printf("%s,%.1f",pessoas[i].nome,pessoas[i].altura);
}


else if(opcao=='3'){
if(pessoas[i].altura>mg)
printf("%s,%.1f",pessoas[i].nome,pessoas[i].altura);
}
else if(opcao=='4')
return 0;
else if(opcao<1||opcao>4)
printf("Opcao não existente:");
getch();
}

Erro na compilação:

cd '/home/kurumin/registro/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" make -k

make all-recursive

Making all in src

g++ -DHAVE_CONFIG_H -I. -I.. -I/home/kurumin/registro/src -O0 -g3 -muito registro.o -MD -MP -MF .deps/registro.Tpo -c -o registro.o /home/kurumin/registro/src/registro.cpp

/home/kurumin/registro/src/registro.cpp: In function 'int main()':

/home/kurumin/registro/src/registro.cpp:48: error: 'getch' was not declared in this scope

make[2]: ** [registro.o] Erro 1

make[2]: O alvo `all' não foi reprocessado por causa de erros.

make[2]: Nada a ser feito para `all-am'.

make[1]: ** [all-recursive] Erro 1

make: ** [all] Erro 2

*** Saiu com estado: 2 ***

Aonde está o erro do programa?

Editado por sl@ckw@re
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Voce esta usando a funcao getch() da conio.h, que é uma biblioteca exclusiva da Borland e portanto, não faz parte das bibliotecas padrão da linguagem. Substitua-a por getchar() da stdio.h, que possui comportamento semelhante.

Link para o comentário
Compartilhar em outros sites

  • 0

não sei se esse é o problema, mas encontrei um outro erro no seu codigo. Nos seus if (onde voce verifica qual opcao foi usada), voce esta comparando um int com um char (em C, um char é representado pelo caractere entre aspas simples (')). Mas como cada caractere tem um valor associado (por exemplo, 'A' == 67) seus if nunca serao verdade. O que voce quer, na verdade é comparar a variavel opcao com o numero 1 e não com o caractere '1' (o mesmo vale para as outras opcoes). Talvez depois dessas modificacoes ele funcione.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...