Jump to content
Fórum Script Brasil
  • 0

Questão sobre algoritmo


Felipe Martins
 Share

Question

Estou com dificuldade em como começar esse exercício. 

 Você foi contratado para desenvolver um sistema de biblioteca no seu bairro. Por
enquanto, vocês possuem apenas 3 livros:
● Como fazer sentido e bater o martelo - Autor: Alexandro Aolchique - Ano: 2017
● Sejamos todos feministas - Autor: Chimamanda Ngozi Adichie - Ano: 2015
● Basquete 101 - Autor: Hortência Marcari - Ano: 2010
Sempre que o sistema for inicializado, estes livros devem, obrigatoriamente,
estarem cadastrados e disponíveis para retirada no sistema.
Seus vizinhos gostariam de retirar, devolver e doar novos livros. Para isso, você
deverá desenvolver as seguintes funcionalidades, que devem ser apresentadas para o
usuário através de um menu:
● Retirar um livro: Dado a lista de livros que estão cadastrados no sistema, o
usuário pode retirar qualquer livro desde que não esteja emprestado (ou seja,
esteja disponível), e em caso de sucesso, ele fica indisponível.
● Devolver um livro: Dado a lista de livros que o usuário retirou, ele pode devolver e
em caso de sucesso, o livro se torna disponível novamente.
● Doar um livro: O usuário entra com as informações (Título, Autor, Ano) e o livro
deve aparecer como disponível para retirada.
Não esqueça de registrar o nome de qual vizinho está com o livro.

 

Extra: Seria muito legal se você conseguisse implementar uma maneira de armazenar as
informações dos livros de forma que elas continuassem existindo mesmo após o usuário
sair do sistema. Que funcionasse como uma espécie de “banco de dados”. 😉

Edited by Felipe Martins
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

 

Olá, tudo bem com você?

Eu posso te dar uma ideia em termos de linguagem C(que é a linguagem que conheço), mas a logica para outras linguagens vai ser paralela.

Então vamos lá. 

Você quer armazenar livros, e quer ter acesso a esses livros separadamente. Cada um desses livros tem três caraterísticas próprias. Cada um tem 4 caraterísticas: Titulo, ator e data de publicação e ainda tem o emprestador atual. 

A primeira coisa que você tem que entender é que o livro tem um conjunto de dados dentro de si (interprete como uma caixinha de dados). Repare que esses dados são distintos entre si.(carácteres e números).

Portanto para salvar esses livros de forma organizada será necessário implementar uma estrutura de dados, e que essa estrutura salve dados distintos entre si. (Na linguagem C, isso seria uma struct). A estrutura vai ser formada por caixinhas (livros), em que cada livro tem um conjunto de 4 dados.

Para atribuir as funcionalidades de: visualizar, retirar e doar e devolver , penso em uma tela de Menu que conforme a escolha do usuário, direciona para cada funcionalidade. E cada funcionalidade deve direcionar para uma função diferente. A seguir a logica das funcionalidades:

Visualizar: para visualizar os livros, me parece bom abrir as caixinhas uma de cada vez e expondo seus dados correspondentes(fazer isso automaticamente). para isso precisara percorrer a estrutura de dados, seja ela qual for, conforme os nomes que você deu para cada livro. Para aqueles livros que tenham um emprestador, solicite uma entrada, caso queira devolver ou não. Já para aqueles livros que estão sem emprestador, solicitar o retorno de, se quer, emprestar o livro.

Adicionar: Após sair da tela de visualização, será necessário  a abertura de uma nova caixinha para esse novo livro. Em seguida solicitado os dados do livro e esses dados serão previamente salvos no correspondente livro.(lembre-se: deve ser solicitado o nome do emprestador).(lembre-se, também, que após isso será necessário atualizar a estrutura de livros)

Retirar: após sair da tela de visualização, será necessário acessar o livro escolhido e então solicitar a sua retirada.(lembre-se que após isso será necessário atualizar a estrutura de livros).

Fique ciente que para excluir ou visualizar ,certo livro, você precisara abrir a caixinha onde este livro esta, por isso salve cada livro com um nome distinto, dentro da estrutura de dados.

Devolver: Penso que a melhor maneira é que tenha uma funcionalidade na tela da visualização para aqueles livros que tenham um emprestador. Então você implementara os mesmos passos da funcionalidade de "adicionar", porem a caixinha vai ser pré-existente.(lembre-se que após isso será necessário atualizar a estrutura de livros)

Por fim, para que as mudanças feitas sejam atualizadas acho uma boa ideia criar funcionalidade em forma de funcoes que ao final redirecionem para o MENU.

Valeu? Qualquer duvida tmj!

 


 

Edited by Deividii
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...