Ir ao conteúdo
  • Cadastre-se

Gerenciador de biblioteca em pascal


Posts recomendados

Entrei num projeto da minha escola técnica e tive uma ideia de montar esse programa

 

Criar um gerenciador de livros para a biblioteca do IFPB, usando laços de repetição, bibliotecas crt e unit, modularização e arrays.
 
-O programa deverá ler a matrícula e nome do aluno que deseja alugar ou devolver livros;
-Irá armazenar nome, código  e genero dos livros; 
-informar data de entrega e aplicar multas;
-Sugerir livros ao usuário.
 
*a multa é de 1 real por dia após a data de entrega do livro*
 
Eu ainda vou começar o algoritmo, mas tenho muita dúvida na parte da construção dos units... Se puderem ajudar, agradeço.
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Como diria Jack, o Estripador, "vamos por partes". :)

De certo modo "o uso de datas", não tem correlação com de "criação de units".
 
Então...:

1) CÓDIGO RODANDO (não confunda com "pronto")

inicialmente tente fazer alguém bem simples. Que rode e "ateste" que sintaxe do programa e da unit estão corretas. Não necessariamente precisa fazer algo, apenas que rode!!! Objetivo é criar uma estrutura base.
obs.: rodar = sem erro de sintaxe (regras). O "algoritmo" em si está relacionado com a "lógica", ou seja, "arrumação do código/sequência de passos que segue" (que por sua vez obedece a sintaxe).

 

A dica é simples: SEMPRE MANTENHA O SEU CÓDIGO COMPILÁVEL, ou seja, seu "problema" deve está só na lógica.

 

Ex.:

programa blablabla;var  nome:string;BEGINif nome='maria' then  begin  end;END.

Observe que o código não faz nada, mas se botar para compilar não vai dar erros (eu acho). Dica: se colocar um begin, já coloque o seu end; correspondente, e indentando, é claro.

 

2) USO DE DATAS

Se não me engano, o uso de datas não é padrão do Pascal, daí você precisa carregar uma unit para "disponibilizar o recurso".

Ex.:

PROGRAM data;uses //carrega uma biblioteca (unit) externa.  Dos; //essa unit contem procedimentos que gerenciam datasvar  a,m,d,s : word; //word é tipo numérico utilizado pela unit, mas poderia usar integer tb..                  //word é semelhante ao interger, só usa apenas números positivos (vide Google)BEGINGETDATE(a,m,d,s); //procedure pertencente a unit "Dos". Ela retorna o valores de ano, mes, dia e                  //semana, do seu computador, nas respectivas posições de variaveis.writeln(d,"/",m,"/",a); //aqui apenas exibindo os valores.readln; //usado para aguardar um ENTER antes de executar o END. (o que fecharia o programa)END.

Existem estruturas de datas prontas também.. como como "DateTime". Mas por enquanto acessar com variáveis simples tá de boa já;

3) POSTE UM CÓDIGO PARA AVALIARMOS

Poste um código do que já conseguiu fazer e vamos já tentar "aprimorar".  Não tente fazer tudo de uma vez, porque vai ficar mais difícil de consertar... Mas ao postar, continue fazendo, não precisa esperar uma resposta...
Lembre-se: a dica é sempre deixar o seu código compilável!!! De tempos em tempo ou "parte do código", compile para vê se tem algum erro... Faça um teste e verá como isso ajuda!
 

***

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

Olha... não sei estruturar bem uma unit. Tentei colocar no arquivo 1 - o programa principal - a parte_2_teste, que seria a unit de data, mas o pascal acaba me retornando dizendo que a biblioteca dos, que você colocou na resposta não foi encontrada! preciso de ajuda nesse aspecto do programa.

Edit¹: GETDATE não foi declarado dentro do escopo de PROGRAM!

Edit²: O arquivo dos.pas não foi encontrado!
 
programa feito até o exato momento:
 

Program Gerenciador_de_livros_IFPB ;uses crt,parte_2_teste;varopcao,genero,escolha_livro:integer;locar_livro,codigo_livro_locado,codigo_livro_devolvido:string;  procedure principal;    begin      writeln('Gerenciador de livros IFPB');      writeln;            writeln('==========================');      writeln;      writeln('Sr. usuário, selecione uma opção: ');      writeln;      writeln('1 - Locar livros;');      writeln('2 - Devolver livros;');      writeln('3 - Ver livros sugeridos;');      writeln('4 - Ver situação dos livros;');      writeln('5 - Sair do programa.');      read(opcao);    end;        Begin      principal;        if opcao=1 then        begin          writeln('Qual livro você deseja locar?');          read(locar_livro);          writeln('Informe o código do livro');          read(codigo_livro_locado);          writeln;          writeln('O livro ',locar_livro,' de código ', codigo_livro_locado, ' foi locado com sucesso!');          writeln('A data de entrega do livro ficou para:');                  end;              if opcao=2 then        begin          writeln('Informe o código do livro que você deseja devolver:');          read(codigo_livro_devolvido);          writeln('Livro devolvido com sucesso!');        end;              if opcao=3 then        begin          writeln('Insira um gênero:');          writeln('1 - Conto');          writeln('2 - Romance');          writeln('3 - Drama');          writeln('4 - Ficção');          read(genero);        end;              if genero=1 then        begin          writeln('Eu recomendo que você leia: O Gato de Botas');        end;              if genero=2 then        begin          writeln('Eu recomendo que você leia: O Dia da Tempestade');        end;              if genero=3 then        begin          writeln('Eu recomendo que você leia: O Carrosel');        end;              if genero=4 then        begin          writeln('Eu recomendo que você leia: As Crônicas de Nárnia');        end;              if opcao=4 then        begin          writeln('Escolha um dos livros a seguir: ');          writeln('1 - O Gato de Botas');          writeln('2 - O Dia da Tempestade');          writeln('3 - O Carrosel');          writeln('4 - As Crônicas de Nárnia');          read(escolha_livro);        end;              if escolha_livro=1 then        begin          writeln('O livro "O Gato de Botas" está disponível para locação');        end;              if escolha_livro=2 then        begin          writeln('O livro "O Dia da Tempestade" está disponível para locação');        end;              if escolha_livro=3 then        begin          writeln('O livro "O Carrosel" está disponível para locação');        end;              if escolha_livro=4 then        begin          writeln('O livro "As Crônicas de Nárnia" está disponível para locação');        end;                if opcao=5 then        begin          writeln('Aperte uma tecla para sair do programa');          readkey;        end;                                             End.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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