hpt 0 Denunciar post Postado Junho 22, 2011 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
Renato Utsch 24 Denunciar post Postado Junho 22, 2011 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
hpt 0 Denunciar post Postado Junho 22, 2011 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
Renato Utsch 24 Denunciar post Postado Junho 22, 2011 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