Ir ao conteúdo
  • Cadastre-se

Undefined reference to


LineAvila

Posts recomendados

Compilando o código abaixo no codeblocks obtenho o erro undefined reference to... para todas as funções

Alguém consegue me ajudar?

 

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



struct tipopilha {
    char dado;
    struct tipopilha *prox;

} ;

/* Cabeçalho de funções*/
void InicializaPilha (struct tipopilha **pilha);
void InserePilha(struct tipopilha **pilha, char dadonovo);
char RetiraPilha(struct tipopilha **pilha);
void ConversaoParaPosFixada ();
int Prioridade (char c1);



void InicializaPilha (struct tipopilha **pilha) {
    *pilha = NULL;
return ;
}

void InserePilha(struct tipopilha **pilha, char dadonovo) {
    struct tipopilha *p1;
    p1 = malloc (sizeof (struct tipopilha));
    p1->dado = dadonovo;
    p1->prox = *pilha;
    *pilha = p1;
    return;
}

char RetiraPilha(struct tipopilha **pilha) {
    struct tipopilha *p1;
    char car;
    p1 = *pilha;
    *pilha = p1->prox;
    car = p1->dado;
    free (p1);
    return car;
}

void ConversaoParaPosFixada () {
	struct tipopilha *p1;
	struct tipofila *f1;
	char c, aux;
	FILE *arq;
}
int Prioridade (char c1) {
	switch (c1) {
	case '^' : return 1; break;
	case '*' : case '/' : return 2; break;
	case '+' : case '-' : return 3; break;
	case '(' : return 4; break;
	}
}
int main(){
    struct tipopilha *f1, *p1;
    char c, aux;
    FILE *arq;

	InicializaPilha (p1);
	InicializaFila (&f1);
	arq = fopen ("t8.txt", "r");
	while ((c = getc (arq)) != EOF) {
		if (c != '\n'){
			if ((c!='^')&&(c!='+')&&(c!='-')&&(c!='*')&&(c!='/')&&(c!='(')&&(c!=')'))
				InsereFila (&f1, c);
			else
				if (c==')') {
					while (TopoPilha(p1) != '(')
						InsereFila (&f1, RetiraPilha (&p1));
					aux = RetiraPilha (&p1);
				}
				else {
					if ((c!='(') && (!PilhaVazia (p1))){
						while ((Prioridade (TopoPilha (p1)) <= Prioridade (c))&&(!PilhaVazia (p1)))
							InsereFila (&f1, RetiraPilha (&p1));
					InserePilha (&p1,c);
					}
				}
			}
		}

	fclose (arq);
	while (!PilhaVazia (p1))
	InsereFila (&f1, RetiraPilha (&p1));
	while (!FilaVazia (f1))
	printf ("%c", RetiraFila (&f1));

	return 0;
}

 

 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...