Passagem de struct para função na IDE geany

1. Passagem de struct para função na IDE geany

Gustavo Rodolfo Silva Villar
gugavillar

(usa Linux Mint)

Enviado em 18/03/2012 - 15:55h

Galera estou começando a estudar struct em C e tou tendo grande dificuldade para passar a struct para uma função não consegui no DEV C++, nem no geany e gostaria que vocês me desse alguma luz ai galera. Esse é o código que fiz...

#include <stdio.h>
#include <stdlib.h>


typedef struct{
float n1;
float n2;
char nome[20];
}aluno;




int qtd_aprovados(vet *a, int tamanho){

int i, qtd=0;

for(i=0; i<tamanho; i++){
if((a[i].n1+a[i].n2)/2 >= 7)
qtd++;
}

return qtd;
}


void imp_aprovados(aluno *a, int tamanho){

int i;

for(i=0; i<tamanho; i++){
if((a[i].n1+a[i].n2)/2 >= 7)
printf("\nNome: %s", a[i].nome);
}
}


int main(int argc, char *argv[])
{

int i, t = 2;

aluno alunos[t];

for(i=0; i<t; i++){
printf("digite nota 1:");
scanf("%f", &alunos[i].n1);
printf("digite nota 2:");
scanf("%f", &alunos[i].n2);
printf("digite nome:");
scanf("%s", alunos[i].nome);
}

imp_aprovados(&alunos, t);
printf("Quantidade Aprovados: %d", qtd_aprovados(&alunos, t));

system("PAUSE");
return 0;
}

sempre os mesmo erros

gcc -Wall -o "Exercicio1" "Exercicio1.c" (no diretório: C:\Users\GUGA VILLAR\Desktop)
Exercicio1.c:14:19: error: unknown type name 'vet'
Exercicio1.c: In function 'main':
Exercicio1.c:54:3: warning: passing argument 1 of 'imp_aprovados' from incompatible pointer type [enabled by default]
Exercicio1.c:27:6: note: expected 'struct aluno *' but argument is of type 'struct aluno (*)[(unsigned int)(t)]'
Exercicio1.c:55:3: warning: implicit declaration of function 'qtd_aprovados' [-Wimplicit-function-declaration]
Compilação falhou.



  


2. Re: Passagem de struct para função na IDE geany

???
gokernel

(usa Linux Mint)

Enviado em 18/03/2012 - 17:28h


Olá !

O erro está bem visível nesta linha:
------------------------------------------

int qtd_aprovados(vet *a, int tamanho){

------------------------------------------

Você não tem nenhum TIPO definido como: ( vet *a ).




3. Re: Passagem de struct para função na IDE geany

Joao
stack_of

(usa Slackware)

Enviado em 18/03/2012 - 18:03h

Seria isso que você quer?


#include <stdio.h>
#include <stdlib.h>


struct aluno{
float n1;
float n2;
char nome[20];
};

int qtd_aprovados(struct aluno *a, int tamanho){

int i, qtd=0;

for(i=0; i<tamanho; i++){
if(((a[i].n1)+(a[i].n2)/2) >= 7)
qtd++;
}

return qtd;
}


void imp_aprovados(struct aluno *a, int tamanho){

int i;

for(i=0; i<tamanho; i++){
if(((a[i].n1)+(a[i].n2)/2) >= 7) printf("\nNome: %s", a[i].nome);
}

}


int main(int argc, char *argv[])
{

int i, t = 2;

struct aluno alunos[t];

for(i=0; i<t; i++){
printf("digite nota 1:");
scanf("%f", &alunos[i].n1);
printf("digite nota 2:");
scanf("%f", &alunos[i].n2);
printf("digite nome:");
scanf("%s", &alunos[i].nome);
}

imp_aprovados(&alunos, t);
printf("Quantidade Aprovados: %d", qtd_aprovados(&alunos, t));

system("PAUSE");
return 0;
}







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts