jessiesp
Membro Júnior-
Posts
4 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que jessiesp postou
-
#include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <string.h> #include <ctype.h> #define TAMANHO 64 typedef struct livro{ struct livro *proximo; char titulo[50]; char editora[50]; char autor[50]; char data[7]; char registro[11]; char busca[50]; int info; }Lista; Lista* inicializa (void); Lista* insere (Lista *l, int i); void imprime (Lista *l); int vazia (Lista *l); Lista* busca (Lista *l); void libera (Lista *l); Lista* retira (Lista *l, int r); Lista* altera (Lista *l, int al); char resposta = 'S'; int escolha; void sair (Lista *l); main () { Lista *l; l = inicializa(); char op; int escolha, i, b, *p, *novo; printf ("- BIBLIOTECA DA JESSIE -\n"); do { system ("cls"); printf ("\n- opções PARA O USUARIO -"); printf ("\n (0) - Incia Nova lista."); printf ("\n (1) - Inserir novos livros."); printf ("\n (2) - Remocao de livros."); printf ("\n (3) - Buscar de um livro."); printf ("\n (4) - Libera espaço na memoria."); printf ("\n (5) - Alteracao de informações do livro."); printf ("\n (6) - Apresentar todos os livros."); printf ("\n (7) - Sair."); printf ("\nEscolha a opcao que deseja realizar? "); scanf ("%d", &escolha); system("pause"); return (escolha); switch (escolha) { case '0': inicializa(); break; case '1': insere; break; case '2': retira; break; case '3': busca; break; case '4': libera; break; case '5': altera; break; case '6': imprime; break; case '7': sair; break; } } while ( escolha != 'S'); system("pause"); return 0; } Lista* inicializa (void) { return NULL; } // (INICIO) Cadastro de livros Lista* insere (Lista *l, int i) { printf ("\n- INSERIR NOVOS LIVROS -"); Lista* novo = (Lista *) malloc(sizeof(Lista)); char *titulo, *autor, *editora, *data, *registro; printf("\n Digite o titulo do livro: ", novo); fflush(stdin); gets(l -> titulo); fflush(stdin); printf("\n Digite a editora do livro: ", novo); fflush(stdin); gets(l -> editora); fflush(stdin); printf("\n Digite o nome do autor do livro: ", novo); fflush(stdin); gets(l -> autor); fflush(stdin); printf("\\n Digite a data de publicacao: ", novo); fflush(stdin); gets(l -> data); fflush(stdin); printf("n Digite o numero do registro: ", novo); fflush(stdin); gets(l -> registro); fflush(stdin); novo-> info = i; novo-> proximo = l; return novo; } // (FIM) Cadastro de livros //(INICIO) Remoçao de livros Lista *retira (Lista *l, int r) { Lista *ant = NULL; Lista *p = l; printf("\n- REMOCAO DE LIVRO -"); printf("\n Digite o titulo do livro que deseja remover: ", retira); fflush(stdin); printf("\n Digite a editora do livro: ", retira); fflush(stdin); printf("\n Digite o nome do autor do livro: ", retira); fflush(stdin); printf("\n Digite a data de publicacao: ", retira); fflush(stdin); printf("\n Digite o numero do registro: ", retira); fflush(stdin); while (p != NULL && p->info != r) { ant = p; p = p -> proximo; } if (p == NULL) return l; if (ant == NULL) { l = p -> proximo; } else { ant -> proximo = p -> proximo; } free(p); return l; } // (FIM) Remoçao de livros // (INICIO) Busca de livros Lista* busca (Lista *l, int b) { Lista *p; printf("\n- BUSCA DE UM LIVRO -"); printf("\nDigite o livro a ser procurado: ", p); fflush(stdin); for ( p = l; p!=NULL; p = p -> proximo) if (p -> info == b) printf ("O livro que voce procura nao foi encontrado.\n"); return p; printf ("O livro que voce procura nao foi encontrado.\n"); return NULL; } // (FIM) Busca de livros // (INICIO) Libera memoria void libera (Lista *l) { Lista *p = l; printf("\n LIBERAR MEMORIA -"); while (p != NULL) { Lista *t = p -> proximo; free(p); p = t; printf("\n Memoria liberada. "); fflush(stdin); } } // (FIM) Libera memoria // (INICIO) Imprime todos os livros void imprime (Lista *l) { Lista *p; printf ("\n- LISTAGEM DE TODOS OS LIVROS -"); for (p = l; p != NULL; p = p->proximo) { printf("\n Livros: ",p -> info, p -> proximo); printf ("\n"); } } // (FIM) Imprime todos os Livros Lista* altera (Lista *l, int al) { char s; Lista *a; Lista *p; printf("\n- LIVROS CADASTRADOS: -"); while (p != NULL){ printf("\n Nome: ", p -> titulo); printf("\n Autor: %s", p -> autor); printf("\n Edutora: ", p -> editora); printf("\n Data: ", p -> data); printf("\n Registro: ", p -> registro); printf("\nDeseja Alterar Este Contato?"); scanf("%c",s); if (s == 'S' || 's'){ system("cls"); printf("\n Digite o novo Nome:"); gets(a -> titulo); printf("\n Digite o novo autor:"); gets(a -> autor); printf("\nDigite a nova editora:"); gets(a -> editora); printf("\nDigite a nova data:"); gets(a -> data); printf("\nDigite o novo registro:"); gets(a -> registro); } p = p -> proximo; } } Alguem me diz o que eu preciso fazer pro programa chamar as funçoes? Ele compila sem erro mas nao chama as funçoes, preciso passar parametros?
-
#include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <string.h> #define BUFFER 54 typedef struct livro{ struct livro *proximo; char titulo[50]; char editora[50]; char autor[50]; char data[7]; char registro[11]; char busca[50]; int info; }Lista; Lista* inicializa (void); Lista* insere (Lista *l, int i); void imprime (Lista *l); int vazia (Lista *l); Lista* busca (Lista *l); void libera (Lista *l); Lista* retira (Lista *l, int r); Lista* altera (Lista *l, int a); char resposta = 'S'; int escolha; void sair (Lista *l); main () { Lista *l; l = inicializa(); char op; int escolha, i, b, *p, *novo; printf ("- BIBLIOTECA DA JESSIE -\n"); do { system ("cls"); printf ("\n- opções PARA O USUARIO -"); printf ("n (0) - Incia Nova lista."); printf ("\n (1) - Inserir novos livros."); printf ("\n (2) - Remocao de livros."); printf ("\n (3) - Buscar de um livro."); printf ("\n (4) - Libera espaço na memoria."); printf ("\n (5) - Alteracao de informações do livro."); printf ("\n (6) - Apresentar todos os livros."); printf ("\n (7) - Sair."); printf ("\nEscolha a opcao que deseja realizar? "); scanf ("%d", &escolha); system("pause"); return (escolha); switch (escolha) { case '0': inicializa(); break; case '1': insere(novo-> proximo = l); break; case '2': retira(Lista *ant = NULL); break; case '3': busca(p -> info == b); break; case '4': libera(Lista *p = l;); break; case '5': altera(); break; case '6': imprime(p = l; p != NULL; p = p->proximo); break; case '7': sair(); break; } } while ( escolha != 'S'); system("pause"); return 0; } Lista* inicializa (void) { return NULL; } // Fiz umas mudanças no codigo e fica dando erro na hora de compilar, sabe me explicar como faço para corrigir isso?
-
Alguem sabe me dizer porque isso esta acontecendo? Compila sem erro na sintaxe mas não chama as funções. #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <string.h> #define BUFFER 54 typedef struct livro{ struct livro *proximo; char titulo[50]; char editora[50]; char autor[50]; char data[7]; char registro[11]; char busca[50]; int info; }Lista; Lista* inicializa (void); Lista* insere (Lista *l, int i); void imprime (Lista *l); int vazia (Lista *l); Lista* busca (Lista *l); void libera (Lista *l); Lista* retira (Lista *l, int r); Lista* altera (Lista *l, int a); int menu (int escolha); char resposta = 'S'; int escolha; void sair (Lista *l); main () { Lista *l; l = inicializa(); char op; printf ("- BIBLIOTECA DA JESSIE -\n"); do { switch (escolha) { case '0': inicializa(); break; case '1': insere; break; case '2': retira; break; case '3': busca; break; case '4': libera; break; case'5': altera; break; case '6': imprime; break; case '7': sair; break; } } while ( op != 'S'); system("pause"); return (6); } // (INICIO) Menu de opção da usuario int menu (int escolha) { printf ("\n- opções PARA O USUARIO -"); printf ("n (0) - Incia Nova lista."); printf ("\n (1) - Inserir novos livros."); printf ("\n (2) - Remocao de livros."); printf ("\n (3) - Buscar de um livro."); printf ("\n (4) - Libera espaço na memoria."); printf ("\n (5) - Alteracao de informações do livro."); printf ("\n (6) - Apresentar todos os livros."); printf ("\n (7) - Sair."); printf ("\nEscolha a opcao que deseja realizar? "); scanf ("%d", &escolha); system("pause"); return (escolha); } // (FIM) Menu de opção da usuario Lista* inicializa (void) { return NULL; } // (INICIO) Cadastro de livros Lista* insere (Lista *l, int i) { printf ("\n- INSERIR NOVOS LIVROS -"); Lista* novo = (Lista *) malloc(sizeof(Lista)); printf("\nDigite o titulo do livro: ", novo); fflush(stdin); gets(l -> titulo); fflush(stdin); printf("Digite a editora do livro: ", novo); fflush(stdin); gets(l -> editora); fflush(stdin); printf("Digite o nome do autor do livro: ", novo); fflush(stdin); gets(l -> autor); fflush(stdin); printf("Digite a data de publicacao: ", novo); fflush(stdin); gets(l -> data); fflush(stdin); printf("Digite o numero do registro: ", novo); fflush(stdin); gets(l -> registro); fflush(stdin); novo-> info = i; novo-> proximo = l; return novo; printf ("\nDeseja cadastrar mais um livro? Sim (S) | Nao (N): "); scanf ("%c", & resposta); fflush(stdin); if (resposta == 's') { return (novo); } else { resposta == 'n'; printf("\nEscolha a opcao que deseja realizar? "); scanf("%d", &escolha); system("pause"); } } // (FIM) Cadastro de livros Alguem sabe me explicar o que esta acontecendo? O programa compila sem erro na sintaxe e quando é pra executar não chama as funções, alguem me diz porque?
-
#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:
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