Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
galera, fiz um programa usando pilhas e apareceu o seguinte erro:
"[Linker error] undefined to fila_imprime'(fila*)'"
alguem sabe o que quer dizer e se puder me ajudar eu agradeceria, alias ta dando esse erro em todas as funções.
o codigo eh esse, esse codigo eu peguei de um amigo meu que ja termino o curso de sistemas da informação, notei que soh tem o prototipo das funções, mas nao a função em si, se puder me ajudar com isso, pq to tentando aprender por fora e ta f***, valeu
#include <stdio.h>
#include <stdlib.h>
// definição da estrutura lista para armazenar as
// informações do aluno
struct lista
{
int Mat; // matricula de um aluno
float P1; // prova 1
float P2; // prova 2
float T; // e trabalho
struct lista* prox;
};
typedef struct lista Lista; Lista * inicio;
Lista * fim;
};
typedef struct fila Fila;
Lista* aux = NULL;
// definição das operações de manipulação
Fila* fila_cria(void);
void fila_insere(Fila* f , int mat, float p1, float p2, float t);
Lista* fila_retira(Fila* f);
int fila_Vazia(Fila* f);
void fila_imprime(Fila* f);
void fila_libera(Fila* p);
void cria_menu();
int main(int argc, char *argv[])
{
//se possivel use system("cls") que é da biblioteca stdlib.h
//para limpar a tela ou console
int mat;
float p1;
float p2;
float t;
Fila* F = NULL;
Lista* aux = NULL;
int op = 1;
//cria o menu de operações
cria_menu();
while (op!=7)
{
do
{
// system("cls");
// digitar a opção do menu
printf("\nDigite a opçao desejada 1 ateh 6 :\n");
scanf("%d", &op);
}
while((op<1) ||(op>7));
//tratamento da opção digitada
switch (op)
{
case 1:
F = fila_cria();
printf("Fila criada com sucesso \n");
break;
case 2:
if (F== NULL)
printf("Eh necessario criar a fila:\n ");
else
{
printf("Digite matricula:\n ");
scanf("%d", &mat);
printf("Digite P1:\n ");
scanf("%f", &p1);
printf("Digite P2:\n ");
scanf("%f", &p2);
printf("Digite T:\n");
scanf("%f", &t);
fila_insere(F , mat, p1, p2, t);
printf("Elemento inserido com sucesso \n");
}
break;
case 3:
if (F== NULL)
printf("Eh necessario criar a fila:\n ");
else
{
if (fila_retira(F) != NULL)
printf("Elemento removido com sucesso \n");
}
break;
case 4:
if (F== NULL)
printf("Eh necessario criar a fila:\n ");
else
{
if (fila_Vazia(F))
printf("Fila Vazia\n");
else
printf("Fila não Vazia\n");
}
break;
case 5:
printf("Nao implementado \n");
break;
case 6:
if (F== NULL)
printf("Eh necessario criar a fila:\n ");
else
fila_imprime(F);
break;
//system("PAUSE");
}
}
system("PAUSE");
return 0;
}Olá!
O que acontece é que você tem que implementar as funções, pois main() está chamando uma função que não existe fisicamente. Tente implementá-las, não posso fazer por você.
Boa sorte ^
Sem o acesso ao código fica meio difícil...
Mas normalmente isso acontece quando você separa o projeto em vários arquivos (.h e .c(pp)), e você está os separando errado, então você chama uma função no .h que não tem implementação (não está sendo incluido o .c(pp) que implementa a função definida no .h).
Posta o código para darmos uma olhada ;D
Abraços :D