Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hpt

erro em c

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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;
// definição do inicio e fim da fila
struct fila 
{
   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;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 ^

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.