Algoritmo "Cadastro"
tipo
CadProduto = registro
nomeCliente: vetor [1..20] de caractere
valorNota: vetor [1..10] de real
valorTotal: real
fim_registro
procedimento mostrarMenu()
inicio
escreva (" 1 - cadastro registro ")
escreva (" 2 - Mostrar o somatório do Cliente ")
escreva (" 3 - Mostrar o valor a pagar do Cliente ")
escreva (" 4 - Mostrar o valor total dos Clientes ")
fim_procedimento
procedimento notasCadastrar ()
inicio
se (qtdNota < 10) entao
escreva ("Digite o Nome do Cliente: ")
leia (notas [qtdNota + 1].nomeCliente)
escreva ("Digite o valor da Nota: ")
leia (notas [qtdNota + 1].valorNota)
escreva ("Digite o valor total a pagar: ")
leia (notas [qtdNota + 1].valorTotal)
escreva (" Notas Cadastrado com Sucesso! ")
senao
escreva (" Limite máximo atigindo: 20 notas! ")
fim_se
opt <- 0
fim_procedimento
funcao notasBuscar (cod: inteiro) : inteiro
var
i, achou: inteiro
inicio
i <- 1
achou <- 0
enquanto (i <= qtdNota) faça
se (notas .nomeCliente == cod) entao
escreva (" nota: ", cod)
escreva (" valor da nota: ", notas.valorNota)
escreva (" valor total a pagar: ", notas.valorTotal)
retorne i
fim_se
i <- i = 1
fim_enquanto
escreva (" nota não encontrada... ")
retorne -1
fim_funcao
procedimento notasValorPagar ()
var
i, j, k: inteiro
aux: CadProduto
inicio
para i de 1 ate qtdNota passo 1 faca
para j de i + 1 ate qtdNota passo 1 faca
k <- 1
enquanto ((notas.valorNota[k] = notas[j].valorNota[k] e (k <= 50)) faça
k <- k + 1
fim_enquanto
se ((notas.valorNota[k] > notas[j].valorNota[k]) e (k <= 50)) entao
aux <- notas
notas <- notas
notas[j] <- aux
fim_se
fim_para
fim_para
fim_procedimento
procedimento notasMostrar ()
var
i: inteiro
inicio
para i de 1 ate qtdNotas passo 1 faca
escreva (" notas: ", notas.nomeCliente)
escreva (" valor da nota: ", notas.valorNota)
escreva (" valor total a pagar: ", notas.valorTotal)
fim_para
fim_procedimento
var
notas: vetor[1..10] de CadProduto
opt, qtdNotas, i: inteiro
inicio
qtdNotas <- 0
repita
mostrarMenu ()
leia (opt)
caso (opt)
seja 1 faca
para i de 1 ate 20 passo 1 faca
notasCadastrar ()
fim_para
seja 2 faca
notasBuscar ()
seja 3 faca
notasValorPagar ()
seja 4 faca
notasMostrar ()
fim_caso
ate_que (opt = 6)
fim