Galera estou com um pequeno proeblema na hora da locaçao do filme
ele nao esta locando
ja perdi tres dias nisso
entao vim pedir ajuda de vcs
algoritmo "LOCADORA"
// Função : cadastro de filmes e clientes
// Autor : william lopes inacio
// Data : 17/11/2009
// Seção de Declarações
var
aluguel, status,categoria,nomefilme,nome:vetor [1..20]de caracter
cidade,bairro,endereco:vetor [1..20]de caracter
filme1,cliente1,aluguel1,codfilm,lcod,devolverfilme:inteiro
locado,loc:vetor [1..20]de literal
q:caracter
opc1:caracter
indice,opc,x,f,i:inteiro
achou, ok:logico
procedimento menuprincipal
inicio
repita
escreval(" ...:::LOCADORA POP CLOCK :::... ")
escreval(" ")
escreval(" ")
escreval(" ::::::::::::::::::::::: ")
escreval(" :: 1-MENU FILME :: ")
escreval(" :: 2-MENU CLIENTES :: ")
escreval(" :: 3-ALUGAR :: ")
escreval(" :: 4-DEVOLVER :: ")
escreval(" :: 5-SAIR :: ")
escreval(" ::::::::::::::::::::::: ")
escreval
escreval
escreval
repita
escreva("ESCOLHA A OPÇÃO! ")
leia(opc)
ate(opc>=1)e(opc<=6)
limpatela
se opc= 1 entao
mfilmes
senao
se opc= 2 entao
mcliente
senao
se opc= 3 entao
alugar
senao
se opc= 4 entao
devolver
senao
se opc= 5 entao
interrompa
senao
escreval("OPÇÃO INVALIDA ESCOLHA UMA OPÇÃO DE 1 ATE 5")
fimse
fimse
fimse
fimse
fimse
ate falso
ate opc=5
fimprocedimento
procedimento mfilmes
inicio
repita
escreval(" ...::: MENU FILMES :::... ")
escreval(" ")
escreval(" :::::::::::::::::::::: ")
escreval(" :: 1- CADASTRAR :: ")
escreval(" :: 2- LISTAR :: ")
escreval(" :: 3- SAIR :: ")
escreval(" :: :: ")
escreval(" :::::::::::::::::::::: ")
escreval
escreval
repita
escreva("ESCOLHA UMA OPÇÃO:")
leia(opc)
ate (opc>=1)e(opc<=3)
limpatela
se opc=1 entao
cadastrofilme
senao
se opc=2 entao
listarfilme
senao
se opc=3 entao
menuprincipal
senao
escreval("OPÇÃO INVALIDA ESCOLHA UMA OPÇÃO DE 1 ATE 3 ")
fimse
fimse
fimse
fimrepita
fimprocedimento
procedimento cadastrofilme
inicio
repita
escreval(" :::::::::::::::::::::::: ")
escreval(" ::: ::: ")
escreval(" ::: CADASTRO FILME ::: ")
escreval(" ::: ::: ")
escreval(" :::::::::::::::::::::::: ")
escreval
escreval
escreva("DIGITE O NOME DO FILME : ")
filme1:= filme1+1
LEIA(nomefilme[filme1])
escreva("DIGITE A CATEGORIA DO FILME : ")
LEIA(categoria[filme1])
para i de 1 ate filme1 faca
loc[i]:= "DISPONIVEL"
fimpara
repita
escreval("DESEJA CADASTRAR OUTRO FILME? S OU N ?")
leia(opc1)
ate(opc1="S")ou (opc1="N")
limpatela
ate opc1="N"
limpatela
fimprocedimento
procedimento listarfilme
inicio
escreval(" :::::::::::::::::::::::::::::: ")
escreval(" ::: ::: ")
escreval(" ::: LISTAGEM DE FILMES ::: ")
escreval(" ::: ::: ")
escreval(" :::::::::::::::::::::::::::::: ")
escreval
escreval
escreval("COD FILME CATEGORIA STATUS ALUGADO ")
para i de 1 ate filme1 faca
se loc[i]="DISPONIVEL" entao
locado[i]:="DISPONIVEL"
fimse
ESCREVAL
ESCREVAL
escreval(i," ",nomefilme[i]," ",categoria[i]," ",loc[i]," ",locado[i])
escreval
escreval
fimpara
escreva("APERTE ENTER PARA VOLTAR : ")
leia(Q)
limpatela
fimprocedimento
procedimento MCLIENTE
INICIO
REPITA
ESCREVAL(" ::::::::: MENU CLIENTE :::::::: ")
ESCREVAL(" :::::::::::::::::::::::::: ")
ESCREVAL(" ::: 1- CADASTRAR ::: ")
ESCREVAL(" ::: 2- LISTAR ::: ")
ESCREVAL(" ::: 3- PROCURAR ::: ")
escreval(" ::: 4- SAIR ::: ")
escreval(" :::::::::::::::::::::::::: ")
escreval
escreval
repita
escreva("OPÇÃO:")
leia(OPC)
ate (OPC>=1)e(OPC<=4)
limpatela
se opc= 1 entao
CADASTROCLIENTE
senao
se opc= 2 entao
LISTARCLIENTE
senao
se(opc=3)e(ok=verdadeiro)entao
achou:=procurar(achou)
se (achou=verdadeiro) entao
escreval("DADOS DOS CLIENTES")
escreval
escreval("cliente : ",nome[indice])
escreval
escreval("cidade: ", cidade[indice])
escreval("Id: ",cliente1)
escreval
senao
escreval("CLIENTE NAO ENCONTRADO !!!")
escreval
fimse
senao
se opc=4 entao
menuprincipal
senao
ESCREVAL("OPÇÃO INVALIDA ESCOLHA UMA OPÇÃO DE 1 ATE 3 ")
fimse
fimse
fimse
fimse
fimrepita
fimprocedimento
procedimento CADASTROCLIENTE
inicio
repita
escreval(" ::::::::::::::::::::::::::::::: ")
escreval(" ::: ::: ")
escreval(" ::: CADASTRO DO CLIENTE ::: ")
escreval(" ::: ::: ")
escreval(" ::::::::::::::::::::::::::::::: ")
escreval
escreval
escreva("DIGITE O NOME DO CLIENTE : ")
cliente1:=cliente1+1
leia(NOME[CLIENTE1])
escreva("DIGITE DIGITE A CIDADE DO CLIENTE : ")
leia(cidade[CLIENTE1])
ok:=verdadeiro
REPITA
escreval("DESEJA CADASTRAR OUTRO CLIENTE S OU N ?")
leia(OPC1)
ate(OPC1="S")ou (OPC1="N")
limpatela
ate OPC1="N"
limpatela
fimprocedimento
procedimento LISTARCLIENTE
inicio
escreval(" :::::::::::::::::::::::::::::::: ")
escreval(" ::: ::: ")
escreval(" ::: LISTAGEM DE CLIENTES ::: ")
escreval(" ::: ::: ")
escreval(" :::::::::::::::::::::::::::::::: ")
escreval
escreval
escreval("COD. NOME CIDADE")
PARA i DE 1 ATE CLIENTE1 FACA
ESCREVAL(i," ",NOME[i]," ",cidade[i])
FIMPARA
ESCREVAL
ESCREVAL
ESCREVA("DIGITE ENTER PARA CONTINUAR : ")
LEIA(Q)
LIMPATELA
FIMPROCEDIMENTO
funcao procurar(achou:logico):logico
var
proc:literal
achoup:logico
maior,meio,menor:inteiro
inicio
escreval("QUAL O NOME DO CLIENTE?")
leia(proc)
maior:=cliente1
menor:=1
achoup:=falso
achou:=falso
enquanto (menor <= maior) e (achou=falso) faca
meio:=(menor+maior)div 2
se(proc < nome[meio]) entao
maior:=meio-1
senao
se(proc > nome[meio]) entao
menor:=meio+1
senao
indice:=meio
achou:=verdadeiro
fimse
fimse
fimenquanto
retorne (achou)
limpatela
fimfuncao
procedimento alugar
inicio
escreval(" ::::::: Locadora Pop Clock ::::::: ")
ESCREVAL(" ")
ESCREVAL(" ::::::::::::::::::::::::: ")
ESCREVAL(" ::: ALUGAR FILMES ::: ")
ESCREVAL(" ::: ::: ")
ESCREVAL(" ::::::::::::::::::::::::: ")
escreval
escreval
ESCREVA("DIGITE O CODIGO DO CLIENTE : ")
LEIA(ALUGUEL1)
ESCREVAL(NOME[ALUGUEL1])
escreval("QUAL O CODIGO DO FILME PARA ALGUAR?: ",nome[aluguel1])
leia(lcod)
para i de 1 ate filme1 faca
se(lcod=loc[i])e(loc[i]="disponivel")entao
loc[i]:= "locado"
locado[i]:= nome[aluguel1]
escreval("Filme Locado com sucesso !!! ")
senao
se (loc[i]="locado")entao
escreval("FILME NAO DISPONIVEL")
fimse
fimse
fimpara
limpatela
fimprocedimento
procedimento DEVOLVER
inicio
ESCREVAL(" :::::::::::::::::::::::: ")
ESCREVAL(" :: :: ")
ESCREVAL(" :: :: ")
ESCREVAL(" :: EVOLVER FILMES :: ")
ESCREVAL(" :: :: ")
ESCREVAL(" :::::::::::::::::::::::: ")
escreval
escreval
REPITA
ESCREVA("DIGITE O CODIGO DO FILME QUE SERA DEVOLVIDO : ")
LEIA(DEVOLVERFILME)
LIMPATELA
ATE(DEVOLVERFILME>=1)E(DEVOLVERFILME<=CODFILM)
SE STATUS[DEVOLVERFILME]="DISPONIVEL" ENTAO
REPITA
ESCREVAL("O FILME",CODFILM," "," JÁ ESTA NA LOCADORA IMPOSSIVEL ENTREGAR! ")
ATE DEVOLVERFILME=CODFILME
ESCREVAL("FILME DEVOLVIDO COM SUCESSO VOLTE SEMPRE")
STATUS[DEVOLVERFILME]<-"DISPONIVEL"
FIMSE
FIMREPITA
FIMPROCEDIMENTO
INICIO
MENUPRINCIPAL
inicio
escreval("ENTER PARA CONTINUAR")
leia(Q)
limpatela
fimrepita
fimalgoritmo