Ir para conteúdo
Fórum Script Brasil
  • 0

Questão sobre algoritmo


Felipe Martins

Pergunta

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

Editado por Felipe Martins
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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!

 


 

Editado por Deividii
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...