Ir ao conteúdo

Posts recomendados

Postado
#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
Postado

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).

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!