Ir ao conteúdo
  • Cadastre-se
jessiesp

C Error ld returned 1 exit status alguem pode me ajudar?

Posts recomendados

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

typedef struct livro{
struct livro *proximo; 
	char titulo[50];
	char editora[50];
	char autor[50];
	char data[7];
    char registro[11];
    char busca[50];
}Lista;

Lista* inicializa (void);
Lista* insere (Lista *l, int i);
void imprime (Lista *l);
int vazia (Lista *l);
Lista* busca (Lista *l, int v);
void libera (Lista *l);
Lista* retira (Lista *l, int v);

int main(void){
	
	int escolha; int cont = 1;
	int cont2;
	char e;
    char resposta = 'S';
	
	Lista *l;
	l = inicializa();
	
printf ("- BIBLIOTECA -\n");

    printf ("\n- opções -");
    printf ("\n  1 - Inserir novos livros.");
    printf ("\n  2 - Remocao de livros.");
    printf ("\n  3 - Alteracao de informações do livro.");
    printf ("\n  4 - Buscar de um livro.");
    printf ("\n  5 - Apresentar todos os livros.");
    printf ("\n  6 - Criar nova lista encadeada.");
    printf ("\n  7 - Retirar do livro.");
    printf ("\n  0 - Sair.");
    printf ("\nEscolha a opcao que deseja realizar? ");
    //(FIM) opções para o usuário
    scanf ("%d", &escolha);
      return (escolha);
      
switch (escolha) {
    case 1:
    // (INICIO) Cadastro de livros
	printf ("\n- Inserir novos livros -");
	do { l = (Lista*) malloc (sizeof (Lista));

    printf ("\nDigite o titulo do livro: ", &e);
    fflush(stdin);
	gets(l -> titulo);
	fflush(stdin);
               
    printf ("Digite a editora do livro: ", &e);
    fflush(stdin);
    gets(l -> editora);
    fflush(stdin);
               
    printf ("Digite o nome do autor do livro: ", &e);
    fflush(stdin);
    gets(l -> autor);
    fflush(stdin);
    
    printf ("Digite a data de publicacao: ", &e);
    fflush(stdin);
    gets(l -> data);
    fflush(stdin);
    
    printf ("Digite o numero do registro: ", &e);
    fflush(stdin);
    gets(l -> registro);
    fflush(stdin);
    
    l -> proximo = NULL;
               
if (inicializa == NULL) {
    l = inicializa();
}
l -> proximo = inicializa();
               
printf ("\nDeseja cadastrar mais um livro? Sim (S) | Nao (N): ");
scanf ("%c", & resposta);
fflush(stdin);
               
cont++;
            
} while ((resposta == 'S') || (resposta == 's'));
break;
return 0;
} 
}

bom dia, sou nova em programação e os problemas surgiram. Estou tentando fazer uma biblioteca em C porém estou compilando o código que estou criando e surge o erro [Error] ld returned 1 exit status, alguem sabe me dizer o que esta errado em meu codigo, nao estou conseguindo identificar. 

Segue meu código acima:

 

 

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só para o programa parar de dar erro:

Lista* inicializa()
{
    Lista* aux = malloc(sizeof(Lista));
    return aux;
}
...
if (l == NULL)
{
   l = inicializa();
}

Aí falta desenvolver as outras partes e corrigir os pequenos erros ("pequeno" porque o compilador não avisou, mas alguns printf tem &e onde não deveria estar e um return nada a ver dentro de main e um break no fim).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!