Ir ao conteúdo
  • Cadastre-se

Kennedy Portela

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa tarde, estou tentando praticar C++ pra não perder tudo o que eu aprendi na minha faculdade no semestre passado, e já estou com um pouco de dificuldade com algumas coisas. Meu professor de Logica era bom, porém perdia a concentração com qualquer coisa, o que fez eu não entender muita coisa, e agora no segundo semestre estar apanhando pra qualquer coisinha básica =/ Bom, meu código por enquanto é esse: #include <stdio.h> #include <conio.h> #include <iostream> struct DadosBiblioteca { int Cod,x,y; char Nome[50], Autor[50], Editora[50], Genero[50]; int Ano, Qtd; double Prateleira; }; void CadastrarLivro (void) { FILE *CadLivro; struct DadosBiblioteca RegLivro; char Confirma; CadLivro=fopen ("CadLiv.dat" , "ab"); do{ std::cout << "Digite o Codigo do livro: "; std::cin >> RegLivro.Cod; if(RegLivro.Cod<1 || RegLivro.Cod>3000) std::cout << "Codigo Invalido!\n"; }while(RegLivro.Cod>3000 || RegLivro.Cod<1); fflush(stdin); std::cout << "Digite o Nome do livro: "; std::cin.getline (RegLivro.Nome, 50); std::cout << "Digite o Autor do Livro: "; std::cin.getline (RegLivro.Autor, 50); std::cout << "Digite a Editora do Livro: "; std::cin.getline (RegLivro.Editora, 50); do{ std::cout << "Digite o Ano do livro: "; std::cin >> RegLivro.Ano; if(RegLivro.Ano<1300|| RegLivro.Ano>2014) std::cout << "Ano Invalido!\n"; }while(RegLivro.Ano>2014 || RegLivro.Ano<1300); std::cout << "Digite o Genero do Livro: "; std::cin.getline (RegLivro.Genero, 30); std::cout << "Digite a quantidade de Livros: "; std::cin >> RegLivro.Qtd; do{ std::cout << "Digite a prateleira que o Livro vai ficar: "; std::cin >> RegLivro.Prateleira; if(RegLivro.Prateleira<1.0 || RegLivro.Prateleira>15) std::cout << "Prateleira Invalida!\n"; }while(RegLivro.Prateleira>15 || RegLivro.Prateleira<1.0); std::cout << "\n\nConfirma a inclusao do livro? (S/N)"; Confirma=getche(); if (Confirma=='s' || Confirma=='S') fwrite(&RegLivro, sizeof(struct DadosBiblioteca), 1, CadLivro); fclose(CadLivro); } void PesquisarLivro (void) { FILE *CadLivro; struct DadosBiblioteca RegLivro; char Nome, Autor, Genero; int opc2; CadLivro=fopen("CadLiv.dat", "rb"); do { std::cout << "\n\nComo você quer pesquisar?\n\n"; std::cout << "\n1-Por Nome do Livro"; std::cout << "\n2-Por Autor"; std::cout << "\n3-Por Genero"; std::cout << "\n4-Fechar Programa"; std::cout << "\n\nDigite a Opcao: "; std::cin >> opc2; if (opc2==1); { std::cout << "\n\nDigite o Nome do Livro: "; std::cin.getline (Nome,50); while (fread(&RegLivro, sizeof(struct DadosBiblioteca), 1, CadLivro) >0) { std::cout << "\n\nCodigo.................: " << RegLivro.Cod; std::cout << "\n\nAutor............: " << RegLivro.Autor; std::cout << "\n\nEditora...........: " << RegLivro.Editora; std::cout << "\n\nAno...........: " << RegLivro.Ano; std::cout << "\n\nGenero...........: " << RegLivro.Genero; std::cout << "\n\nQuantidade...........: " << RegLivro.Qtd; std::cout << "\n\nPrateleira..........: " << RegLivro.Prateleira; } } if (feof(CadLivro)) { std::cout << "\n\nLivro nao cadastrado\n\n"; } else if (opc2==2); { std::cout << "\n\nDigite o Autor do Livro: "; std::cin.getline (Autor,50); while (fread(&RegLivro, sizeof(struct DadosBiblioteca), 1, CadLivro) >0) (Autor==RegLivro.Autor); { std::cout << "\n\nCodigo.................: " << RegLivro.Cod; std::cout << "\n\nNome............: " << RegLivro.Nome; std::cout << "\n\nEditora...........: " << RegLivro.Editora; std::cout << "\n\nAno...........: " << RegLivro.Ano; std::cout << "\n\nGenero...........: " << RegLivro.Genero; std::cout << "\n\nQuantidade...........: " << RegLivro.Qtd; std::cout << "\n\nPrateleira..........: " << RegLivro.Prateleira; } } if (feof(CadLivro)) { std::cout << "\n\nLivro nao cadastrado\n\n"; } else if (opc2==3); { std::cout << "\n\nDigite o Genero do Livro: "; std::cin.getline (Genero,50); while (fread(&RegLivro, sizeof(struct DadosBiblioteca), 1, CadLivro) >0) (Genero==RegLivro.Genero); { std::cout << "\n\nNome.................:" << RegLivro.Nome; std::cout << "\n\nCodigo.................: " << RegLivro.Cod; std::cout << "\n\nAutor............: " << RegLivro.Autor; std::cout << "\n\nEditora...........: " << RegLivro.Editora; std::cout << "\n\nAno...........: " << RegLivro.Ano; std::cout << "\n\nQuantidade...........: " << RegLivro.Qtd; std::cout << "\n\nPrateleira..........: " << RegLivro.Prateleira; } } if (feof(CadLivro)) { std::cout << "\n\nLivro nao cadastrado\n\n"; } else if (opc2==4); break; }while (opc2 >0 && opc2 <4); return(PesquisarLivro); } //void MenuPesquisa (void) - // Criar um Menu para a Pesquisar Livros!!! FILE *CadLivro; int main (void) { int opc; do { std::cout << "\n\nBiblioteca\n\n"; std::cout << "\n1-Cadastrar Livro"; std::cout << "\n2-Pesquisar Livro(s)"; std::cout << "\n3-Fechar Programa"; std::cout << "\n\nDigite a Opcao: "; std::cin >> opc; if (opc==1) CadastrarLivro (); else if(opc==2) PesquisarLivro (); else if(opc==3) break; }while (opc >0 && opc < 3); return (0); } Ele basicamente Cadastra livros e Pesquisa os livros (Porém a pesquisa pode ser feita por [Nome, Autor ou Gênero] depende do usuário escolher. Mas ainda não consegui criar esse Menu de escolhas de como pesquisar, por que não sei se vai ser igual o primeiro menu pra escolher se vai Cadastrar ou Pesquisar) Queria saber se podem me ajudar com ele, está dando uns erros que nem sei como arrumar, e com a parte de criar menu para pesquisa dos livros. Por enquanto é isso, podem ser sinceros a ponto de dizer que meu programa está horrível, vou aguentar kkk Link pra download do .cpp se for mais fácil ( https://www.dropbox.com/s/lj7fyjhg76sjxnf/Biblioteca.cpp?dl=0 ) * Como é chato criar tópico aqui hein =/

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