Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
%menu main:- assertz(loca(0,0,0,0,0,0,0)), assertz(gente(0,0,0,0,0)), assertz(produtos(0,0,0,0,0)), write('MENU PRINCIPAL'),nl, write('DIGITE'),nl, write('1 CADASTRAR'),nl, write('2 LISTAR'),nl, write('3 PESQUISAR: '),nl, write('4 SAIR: '),nl, read(OP), opcao(OP),!. %1° opcao opcao(OP):- OP==1, cadastrar,!. %2° opcao opcao(OP):- OP==2, listar,!. %2° opcao opcao(OP):- OP==3, pesquisar,!. %3° opcao opcao(OP):- OP==4, write('FINALIZADO...'),!. %invalido.. opcao(_):- write("NUMERO INVALIDO.."),nl, main,!. %menu cadastrar cadastrar:- nl,nl, write('MENU CADASTRAR'),nl, write('DIGITE'),nl, write('1 CLIENTES'),nl, write('2 DVDs'),nl, write('3 LOCACAO'),nl, write('4 SAIR: '),nl, read(OP), c_opcao(OP),!. %menu listar listar:- nl,nl, write('MENU LISTAR'),nl, write('DIGITE'),nl, write('1 CLIENTES'),nl, write('2 DVDs'),nl, write('3 LOCACAO'),nl, write('4 SAIR: '),nl, read(OP), l_opcao(OP),!. %menu pesquisar pesquisar:- nl,nl, write('MENU PESQUISAR'),nl, write('DIGITE'),nl, write('1 CLIENTES'),nl, write('2 DVDs'),nl, write('3 LOCACAO'),nl, write('4 SAIR: '),nl, read(OP), p_opcao(OP),!. %opcao de cadastrar 1 c_opcao(OP):- OP==1, clientes_c,!. %opcao de cadastrar 2 c_opcao(OP):- OP==2, dvd_c,!. %opcao de cadastrar 3 c_opcao(OP):- OP==3, locacao_c,!. %opcao de cadastrar 4 c_opcao(OP):- OP==4, main,!. %opcao de cadastrar 4 c_opcao(_):- write('INVALIDO...'), cadastrar,!. %cadastrar clientes clientes_c:- nl,nl, write('CADASTRO CLIENTES'),nl, write('DIGITE -1 NO CODIGO PARA FINALIZAR'),nl, write('Codigo: '), read(C), C \= -1, write('CPF: '), read(CP), write('NOME: '), read(N), write('TELEFONE: '), read(T), write('ENDERECO: '), read(E), buscar(C,CP,N,T,E),!. %cadastrar dvd dvd_c:- nl,nl, write('CADASTRO DVD'),nl, write('DIGITE -1 NO CODIGO PARA FINALIZAR'),nl, write('Codigo: '), read(C), C \= -1, write('NOME: '), read(N), write('TIPO: '), read(T), write('PRODUTORA: '), read(P), write('QUANTIDADE DE ITENS: '), read(Q), buscar_n(C,N,T,P,Q),!. %cadastrar locacao locacao_c:- nl,nl, write('CADASTRO LOCACAO'),nl, write('DIGITE NUMEROS NO CODIGO -1 PARA FINALIZAR'),nl, write('Codigo: '), read(C), C \= -1, write('NOME DO FILME: '), read(N), write('CPF DO CLIENTES: '), read(CP), write('DATA DE LOCACAO: '), read(DA), write('DATA DE DEVOLUCAO: '), read(DV), write('VALOR DE LOCACAO: '), read(VL), write('QUANTIDADE DE ITENS: '), read(QI), buscar_l(C,N,CP,DA,DV,VL,QI),!. %opcao de listar 1 l_opcao(OP):- OP==1, write('LISTANDO CLIENTES...'), listing(gente), listar,!. %opcao de listar 2 l_opcao(OP):- OP==2, write('LISTANDO DVDs...'), listing(produtos), listar,!. %opcao de listar 3 l_opcao(OP):- OP==3, nl,write('LISTANDO LOCACAO...'), listing(loca), listar,!. %opcao de listar 4 l_opcao(OP):- OP==4, main,!. %opcao de listar invalido l_opcao(_):- write('INVALIDO..'), dvd_l,!. %funcao criada para identificar 2 cpfs iguais buscar(C,CP,N,T,E):- gente(C,CP,N,T,E), write(CP:'<-CPF, '), write(C:'<-CODIGO, '), write(N:'<-NOME, '), write(T:'<-TELEFONE, '), write(E:'<-ENDERECO;'),nl,fail. %voltar para main se tiver 2 cpfs iguais buscar(_,CP,_,_,_):- gente(_,CP,_,_,_), write('CPF EXISTENTE...'), main,!. %cadastra o cliente buscar(C,CP,N,T,E):- assertz(gente(C,CP,N,T,E)), write('CADASTRADO...'), clientes_c. %funcao criada para identificar 2 filmes com o mesmo nome buscar_n(C,N,T,P,Q):- produtos(C,N,T,P,Q), write(C:'<-CODIGO, '), write(N:'<-NOME, '), write(T:'<-TIPO '), write(P:'<-PRDUTORA, '), write(Q:'<-QUANTIDADE;'),nl,fail. %volta para menu em caso de ja existir este nome buscar_n(_,N,_,_,_):- produtos(_,N,_,_,_), write('NOME EXISTENTE...'),nl, main,!. %cadastra filme buscar_n(C,N,T,P,Q):- assertz(produtos(C,N,T,P,Q)), write('CADASTRADO...'), dvd_c. %funcao criada para cadastrar locacoes buscar_l(C,N,CP,DA,DV,VL,QI):- loca(C,N,CP,DA,DV,VL,QI), write(C:'<-CODIGO, '), write(N:'<-NOME, '), write(CP:'<-CPF, '), write(DA:'<-DATA DE LOCACAO, '), write(DV:'<-DATA DEVOLUCAO '), write(VL:'<-VALOR DE LOCACAO, '), write(QI:'<-QUANTIDADE DE ITENS;'),nl,fail. %cadastra locacao buscar_l(C,CP,N,DA,DV,VL,QI):- gente(_,CP,_,_,_), produtos(_,N,_,_,Q), Q>=QI, write('CADASTRADO...'), assertz(loca(C,CP,N,DA,DV,VL,QI)),nl, locacao_c,!. %evita cadastro o volta para o menu principal buscar_l(_,_,_,_,_,_,_):- write('FILME OU CPF NAO EXISTENTE OU'),nl, write('QUANTIDADE DE ITENS INSUFICIENTE...'),nl, main,!. %opcao de pesquisar 1 p_opcao(OP):- OP==1, write('DIGITE CPF DO CLIENTE :'), read(CP), clientes_p(CP),!. %opcao de pesquisar 2 p_opcao(OP):- OP==2, write('DIGITE NOME DO FILME :'), read(N), dvd_p(N),!. %opcao de pesquisar 3 p_opcao(OP):- OP==3, write('DIGITE CPF DO CLIENTE :'), read(CP), write('DIGITE NOME DO FILME :'), read(N), write('DIGITE CODIGO DE LOCACAO :'), read(C), locacao_p(C,CP,N),!. %opcao de pesquisar 4 p_opcao(OP):- OP==4, main,!. %opcao de pesquisar invalido p_opcao(_):- write('INVALIDO..'), pesquisar,!. clientes_p(CP):- gente(C,CP,N,T,E), write('CODIGO':C),nl, write('CPF':CP),nl, write('NOME':N),nl, write('TELEFONE':T),nl, write('ENDERECO':E),nl, pesquisar,!. clientes_p(_):- write('NAO EXISTE'),nl, main,!. dvd_p(N):- produtos(C,N,T,P,Q), write('CODIGO':C),nl, write('NOME':N),nl, write('TIPO':T),nl, write('PRODUTORA':P),nl, write('QUANTIDADE':Q),nl, pesquisar,!. dvd_p(_):- write('NAO EXISTE'),nl, main,!. locacao_p(C,CP,N):- loca(C,CP,N,DA,DV,VL,QI), write('CODIGO':C),nl, write('NOME':N),nl, write('CPF':CP),nl, write('DATA DE LOCACAO':DA),nl, write('DATA DEVOLUCAO':DV),nl, write('VALOR DE LOCACAO':VL),nl, write('QUANTIDADE DE ITENS':QI),nl, pesquisar,!. locacao_p(_):- write('NAO EXISTE'),nl, main,!.
Compartilhar