Sei sulla pagina 1di 4

Algoritmo "semnome"

// Disciplina : [Linguagem e Lgica de Programao]


// Professor : Antonio Carlos Nicolodi
// Descrio : Aqui voc descreve o que o programa faz! (funo)
// Autor(a) : Nome do(a) aluno(a)
// Data atual : 12/04/2017
tipo
cadastroVeiculo=registro
chassi: caractere
placa: caractere
marca: caractere
modelo: caractere

fimregistro
cadastroCliente=registro
cpf: caractere
nome: caractere
sexo: caractere
telefone: caractere
fimregistro

cadastroLocacao=registro
dataLocacao: caractere
cpfCliente: caractere
chassiVeic: caractere
dataDevolucao: caractere
vlrlLocacao: real
fimregistro
Var
// Seo de Declaraes das variveis
veiculos: vetor [0..1] de cadastroVeiculo
clientes: vetor [0..1] de cadastroCliente
locacao: vetor [0..1] de cadastroLocacao
cont, contV, contC, contL, menu: inteiro
x, chassi, cpf: caractere
procedimento cadastraVeiculo (menu: inteiro)
inicio
se (contV <= 1) entao
repita
escreval ("Digite o chassi: ")
leia (veiculos[contV].chassi)
escreval ("Digite a placa: ")
leia (veiculos[contV].placa)
escreval ("Digite a marca: ")
leia (veiculos[contV].marca)
escreval ("Digite o modelo: ")
leia (veiculos[contV].modelo)
escreval ("")
se (contV < 1) entao
contV <- contV + 1
escreval ("Deseja cadastrar outro veculo? (S/N)")
leia (x)
escreval ("")
senao
contV <- contV + 1
x <- "N"
fimse
ate (x = "N")
senao
escreval ("Operao invlida: no permitido exceder o limite de 10 veculo cadast
rados")
escreval ("")
fimse
fimprocedimento
Inicio
// Seo de Comandos, procedimento, funes, operadores, etc...
contC <- 0
contL <- 0
contV <- 0
repita
escreval ("1. Cadastrar veculo")
escreval ("2. Cadastrar cliente")
escreval ("3. Cadastrar locao")
escreval ("4. Consultar veculo")
escreval ("5. Consultar cliente")
escreval ("6. Consultar locao")
escreval ("7. Sair")
leia (menu)
escreval ("")
escolha menu
caso 1
cadastraVeiculo (menu)
caso 2
se (contC <= 1) entao
repita
escreval ("Digite o cpf: ")
leia (clientes[contC].cpf)
escreval ("Digite o nome: ")
leia (clientes[contC].nome)
escreval ("Digite o sexo: ")
leia (clientes[contC].sexo)
escreval ("Digite o telefone: ")
leia (clientes[contC].telefone)
escreval ("")
se (contC < 1 ) entao
contC <- contC + 1
escreval ("Deseja cadastrar outro cliente? (S/N)")
leia (x)
escreval ("")
senao
contC <- contC + 1
x <- "N"
fimse
ate (x = "N")
senao
escreval ("Operao invlida: no possvel exceder o limite de 10 clientes
cadastrados :)")
escreval ("")
fimse
caso 3
se (contL <= 1) entao
repita
escreval ("Digite a data da locao: ")
leia (locacao[contL].dataLocacao)
escreval ("Digite o cpf do cliente: ")
leia (locacao[contL].cpfCliente)
escreval ("Digite o n do chassi: ")
leia (locacao[contL].chassiVeic)
escreval ("Digite a de devoluo: ")
leia (locacao[contL].dataDevolucao)
escreval ("Digite o valor total da locao: ")
leia (locacao[contL].vlrLocacao)
escreval ("")
se (contL < 1) entao
contL <- contL + 1
escreval ("Deseja cadastrar outra locao? (S/N)")
leia (x)
escreval ("")
senao
contL <- contL + 1
x <- "N"
fimse
ate (x = "N")
senao
escreval ("Operao invlida: no possvel exceder o limite de 10 locaes c
stradas")
escreval ("")
fimse
caso 4
repita
escreval ("Informe o chassi do veculo: ")
leia (chassi)
para cont de 0 ate 1 faca
se (chassi = veiculos[cont].chassi) entao
escreval ("Chassi: ", veiculos[cont].chassi)
escreval ("Modelo: ", veiculos[cont].placa)
escreval ("Modelo: ", veiculos[cont].marca)
escreval ("Modelo: ", veiculos[cont].modelo)
interrompa
senao
se (cont = 1) entao
escreval ("No encontrado")
fimse
fimse
fimpara
escreval ("")
escreval ("Deseja fazer nova consulta? (S/N)")
leia (x)
escreval ("")
ate (x = "N") entao
caso 5
repita
escreval ("Informe CPF do cliente: ")
leia (cpf)
para cont de 0 ate 1 faca
se (cpf = clientes[cont].cpf) entao
escreval ("CPF: ", clientes[cont].cpf)
escreval ("Nome: ", clientes[cont].nome)
escreval ("Nome: ", clientes[cont].sexo)
escreval ("Nome: ", clientes[cont].telefone)
interrompa
senao
se (cont = 1) entao
escreval ("No encontrado")
fimse
fimse
fimpara
escreval ("")
escreval ("Deseja fazer nova consulta? (S/N)")
leia (x)
escreval ("")
ate (x = "N") entao
caso 6
repita
escreval ("Informe CPF do cliente: ")
leia (cpf)
para cont de 0 ate 1 faca
se (cpf = locacao[cont].cpfCliente) entao
escreval ("Data da Locao: ", locacao[cont].dataLoc)
escreval ("CPF do cliente: ", locacao[cont].cpfCliente
)
escreval ("Modelo: ", locacao[cont].chassiVeic)
escreval ("Data de Locao: ", locacao[cont].dataDevolucao
)
escreval ("Valor total da locao: ", locacao[cont].vlrLoc
acao)
interrompa
senao
se (cont = 1) entao
escreval ("No encontrado")
fimse
fimse
fimpara
escreval ("")
escreval ("Deseja fazer nova consulta? (S/N)")
leia (x)
escreval ("")
ate (x = "N") entao
caso 7
escreval ("Deseja realmente sair? (S/N)")
leia (x)
fimescolha
ate (x = "S")

Fimalgoritmo

Potrebbero piacerti anche