Guest Brow. Postado Maio 30, 2008 Denunciar Share Postado Maio 30, 2008 Oi, alguém sabe como passa a função na main sendo ponteiro pra estrutura?consegui assim, da erro.int aprovado (struct aluno *a);main(){ struct aluno p1,p2,p3,x,res; printf("digite tres notas\n"); scanf("%f %f %f",&x.p1,&x.p2,&x.p3); res=aluno(&p1,&p2,&p3); printf("%.2f",res.p1,res.p2,res.p3); system("pause");}int aprovado(struct aluno *a){ float media=0,soma=0; if(((a->p1>=3)&&(a->p2>=3)&&(a->p3>=3))) { soma= a->p1+a->p2+a->p3; media=soma/3; if(media>=5) { return 1; } else { return 0; } }} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Brown. -- Postado Maio 30, 2008 Denunciar Share Postado Maio 30, 2008 Oi, alguém sabe como passa a função na main sendo ponteiro pra estrutura?consegui assim, da erro.int aprovado (struct aluno *a);main(){ struct aluno p1,p2,p3,x,res; printf("digite tres notas\n"); scanf("%f %f %f",&x.p1,&x.p2,&x.p3); res=aluno(&p1,&p2,&p3); printf("%.2f",res.p1,res.p2,res.p3); system("pause");}int aprovado(struct aluno *a){ float media=0,soma=0; if(((a->p1>=3)&&(a->p2>=3)&&(a->p3>=3))) { soma= a->p1+a->p2+a->p3; media=soma/3; if(media>=5) { return 1; } else { return 0; } }}o que faltou da main#include<stdio.h>#include<stdlib.h>struct aluno { char n[81]; char e[41]; float p1,p2,p3;}; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo Utikawa da Fonseca Postado Maio 31, 2008 Denunciar Share Postado Maio 31, 2008 Algumas coisas erradas no seu programa:1) A função main é do tipo int mas não retorna nada!Adicione um return no final.2) res=aluno(&p1,&p2,&p3);aluno é uma estrutura, não uma função. Pelo jeito isto é que está dando errado! Acho que o que você queria aqui era chamar a função aprovado, não é?aprovado precisa de um parâmetro: ponteiro para estrutura. Assim utilize o operador &.Exemplo: aprovado(&x);3) res é uma estrutura e não poderia receber o retorno de aprovado que é um int. O que você quer? que aprovado retorne uma estrutura? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Brown -- Postado Junho 2, 2008 Denunciar Share Postado Junho 2, 2008 Valeu, obrigado.Eu retornei assim:main(){ struct aluno x; int res; res=aprovado(&x); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Brow.
Oi, alguém sabe como passa a função na main sendo ponteiro pra estrutura?
consegui assim, da erro.
int aprovado (struct aluno *a);
main()
{
struct aluno p1,p2,p3,x,res;
printf("digite tres notas\n");
scanf("%f %f %f",&x.p1,&x.p2,&x.p3);
res=aluno(&p1,&p2,&p3);
printf("%.2f",res.p1,res.p2,res.p3);
system("pause");
}
int aprovado(struct aluno *a)
{
float media=0,soma=0;
if(((a->p1>=3)&&(a->p2>=3)&&(a->p3>=3)))
{
soma= a->p1+a->p2+a->p3;
media=soma/3;
if(media>=5)
{
return 1;
}
else
{
return 0;
}
}
}
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.