algoritmo Banco
declare
var Registro Conta{
nro:numerico
nome:literal
saldo:numerico
}
var vetConta[1..50]:Conta
var opcao:numerico
opcao <- 0
zerarVetor($vetConta) //passagem por referência
enquanto opcao <> 6 então
escreva '1-cadastrar 2-remover 3-depositar 4-sacar 5-consultar 6-sair'
leia opcao
escolha opcao
caso 1:
cadastrar($vetConta)
caso 2:
remover($vetConta)
caso 3:
depositar($vetConta)
caso 4:
sacar($vetConta)
caso 5:
consultar($vetConta)
fim_escolha
fim_enquanto
fim_algoritmo
subrotina zerarVetor(vetConta[1..50])
var i:numerico
para i <- 1 até 50 faça
vetConta[i].nro <- 0
vetConta[i].nome <- NULO
vetConta[i].saldo <- 0
fim_para
fim_subrotina
subrotina cadastrar(vetConta[1..50)
var i, aux:numerico
aux <- -1
para i <- 1 até 50 faça
se vetConta[i].nro = 0 então
aux <- i
fim_se
fim_para
se aux = -1 então
escreva 'Não há espaço suficiente para realizar um novo cadastro de conta'
senão
escreva 'Informe o número da conta:'
leia vetConta[aux].nro
escreva 'Informe o nome do cliente:'
leia vetConta[aux].nome
vetConta[aux].saldo <- 0
Escreva 'Conta cadastrada com sucesso!'
fim_se
fim_subrotina
subrotina remover(vetConta[1..50])
var i, aux, nro:numerico
aux <- -1
escreva 'Informe o número da conta que deseja remover:'
leia nro
para i <- 1 até 50 faça
se nro = vetConta[i].nro então
aux <- i
fim_se
fim_para
se aux = -1 então
escreva 'Não foi encontrada nenhuma conta com o número informado, por favor verifique o número e repita a operação!'
senão
vetConta[aux].nro <- 0
vetConta[aux].nome <- NULO
vetConta[aux].saldo <- 0
escreva 'Conta removida com sucesso!'
fim_se
fim_subrotina
subrotina depositar(vetConta[1..50])
var i, aux, nro, valor:numerico
aux <- -1
escreva 'Informe o número da conta:'
leia nro
para i <- 1 até 50 faça
se nro = vetConta[i].nro então
aux <- i
fim_se
fim_para
se aux = -1 então
escreva 'Essa conta não está cadastrada!'
senão
escreva 'Informe o valor que deseja depositar:'
leia valor
se valor > então
vetConta[aux].saldo <- vetConta[aux].saldo + valor
escreva 'Depositado realizado com sucesso!'
senão
escreva 'Valor inválido!'
fim_se
fim_subrotina
subrotina sacar(vetConta[1..50])
var i, aux, nro, valor:numerico
aux <- -1
escreva 'Informe o número da conta:'
leia nro
para i <- 1 até 50 faça
se nro = vetConta[i].nro então
aux <- i
fim_se
fim_para
se aux = -1 então
escreva 'Essa conta não está cadastrada!'
senão
escreva 'Informe o valor que deseja sacar:'
leia valor
se valor > 0 então
vetConta[aux].saldo <- vetConta[aux].saldo - valor
escreva 'Saque realizado com sucesso!'
senão
escreva 'Valor inválido!'
fim_se
fim_subrotina
subrotina consultar(vetConta[1..50])
var i, aux, nro:numerico
aux <- -1
escreva 'Informe o número da conta:'
leia nro
para i <- 1 até 50 faça
se nro = vetConta[i].nro então
aux <- i
fim_se
fim_para
se aux = -1 então
escreva 'Essa conta não está cadastrada!'
senão
escreva 'Número: ', nro
escreva 'Cliente: ', vetConta[aux].nome
escreva 'Saldo: ', vetConta[aux].saldo
fim_se
fim_subrotina