Jump to content
Sign in to follow this  
mthl

algoritmo visualg sistema bancario(PROCEDIMENTOS)

Recommended Posts

Boa tarde pessoal, estou com problemas em certos procedimentos no meu algoritmo, bom o enunciado pede:
1. Desenvolver um algoritmo estilo caixa eletrônico, nele poderá ser feito:

a. Autenticação do usuário;

b. Saque;

c. Depósito;

d. Saldo;

e. Extrato;

f. Sair

a. Deixe pré-cadastrada uma matriz com três nomes, cpfs e senhas. Enquanto o usuário não informar o CPF e SENHA corretos deverá ser perguntado o CPF e SENHA. Após informados corretamente serão dadas as opções: saque, depósito, extrato, saldo ou sair.

b. Poderá ser sacado desde que o valor não seja maior que o dinheiro que esteja em conta. Caso você tenha R$200,00 em conta não poderá ser realizados saques superiores a esse valor.

c. Depósitos poderão ser feitos desde que sejam superiores a R$0,00. Valide caso o usuário informe zero ou algum número negativo.

d. Saldo que dispõe a conta;

e. Extrato de todos os saques e depósitos efetuados.

f. Sair do sistema quando a pessoa informar uma palavra ou número específico sairá do sistema.

segue abaixo o codigo, caso alguem esteja disposto a ajudar :)

algoritmo "ex 1 - funções procedimentos"

var
vtrSaque:vetor[0..15] de real
vtrDeposito:vetor[0..15] de real
totalDp:real
saldo:real
cadastro:vetor [0..2, 0..2] de caracter
linha,coluna:inteiro
opcao:inteiro
cpf, senha:caracter
nome:caracter
valorSaque:real
valorDp:real
validarSaque:logico
validarDeposito:logico
validarDados:logico

//procedimento perguntas
procedimento laco()
var
inicio
enquanto validarDados <- falso faca
   limpatela
   //faaer as perguntas
   entrar()
fimenquanto
fimprocedimento


//procedimento entrar
procedimento entrar()
var

inicio
escreval("Informe seu CPF(APENAS NUMEROS):")
leia(cpf)
escreval("Informe sua senha")
leia(senha)
para linha de 0 ate 2 faca
   se (senha = cadastro[linha,2]) e (cpf = cadastro[linha,1]) entao
      validarDados <- verdadeiro
   senao
      validarDados <- falso
   fimse
fimpara


fimprocedimento


procedimento menu()

var
opcao:inteiro

inicio

enquanto opcao <> 5 faca
   escreval("1 - SAQUE;")
   escreval("2 - DEPOSITAR;")
   escreval("3 - SALDO;")
   escreval("4 - EXTRATO;")
   escreval("5 - SAIR.")
   leia(opcao)
   limpatela

   //chamar o procedimento para escolha de opcao
   escolherOpcao(opcao:inteiro)
fimenquanto
fimprocedimento


//procedimento escolherOpcao
procedimento escolherOpcao(opcao:inteiro)
var
inicio
escolha opcao
caso 1
   sacar()
caso 2
   depositar()
caso 3
   saldo()
caso 4
   extrato
caso 5
   escreval("**********************************************")
   escreval("*              SISTEMA FINALIZADO            *")
   escreval("**********************************************")
outrocaso
   escreval("Opção inválida")
fimescolha

fimprocedimento

//procedimento CADASTRAR
procedimento cadastrar()
var

inicio
//cadastro 1
cadastro[0,0] <- "matheus"
cadastro[0,1] <- "07369926931"
cadastro[0,2] <- "java"
//cadastro 2
cadastro[1,0] <- "fulano"
cadastro[1,1] <- "12345678923"
cadastro[1,2] <- "123"
//cadastro 3
cadastro[2,0] <- "ciclano"
cadastro[2,1] <- "44283970972"
cadastro[2,2] <- "321"
fimprocedimento

//FUNÇÔES SACAR, DEPOSITAR, SALDO, EXTRATO.
//FUNÇÃO SACAR
procedimento sacar():caracter
var
valorsaque:real
totalDp:real
totalSaque:real
inicio

escreval("Informe o valor do saque")
leia(valorsaque)

para linha de 0 ate 15 faca

   se (vtrSaque[linha] = 0) entao
      vtrSaque[linha] <- valorSaque
      interrompa

      se totalDp >= saldo entao
         retorne "Saque efetuado com sucesso"
      senao
         escreval("Saldo Insuficiente")
      fimse
   fimse




      fimprocedimento

      //procedimento DEPOSITO
      procedimento depositar()
      var

      valorDp:real

      inicio
      escreval("Informe o valor do deposito")
      leia(valorDp)
      para linha de 0 ate 15 faca
         se (vtrDeposito[linha] = 0) entao
            vtrDeposito[linha]<- valorDp
         totalDp <-totalDp + vtrDeposito[linha]
            interrompa

         fimse

      fimpara


      fimprocedimento

      //funcao SALDO
      procedimento saldo (saldo:real):real
      var

      inicio

      saldo <- totalDp - vtrsaque[linha]

      retorne saldo
      fimprocedimento

      //programa
      inicio

      //Cadastrar os valores na matriz
      cadastrar()

      //Efetuar o login
      entrar()

      //Menu
      menu()



   fimalgoritmo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By Andréia Bürck
      Gostaria de saber se há como fazer o seguinte, em JAVA ou qualquer outra linguagem: personalizar um áudio. Ou seja, tenho um áudio, e em lugares chaves desse áudio, depois dele pronto, um programa inserir nesses pontos-chave, por exemplo, nomes. Eu falo o nome, e o programa insere nos pontos pré-determinados.
    • By flipmartinz13
      Alguém pode me ajudar nessa questão de C++? não estou conseguindo construir o algorítmo corretamente.

      5.92)    Faça um algoritmo que leia a matrícula, nome, sexo e três notas dos alunos de uma escola e obtenha os seguintes resultados:
      a) A matrícula da aluna que obteve a maior média.
      b) A matrícula do aluno que obteve a menor média.
      c) O percentual de mulheres na turma.
      d) Quantos alunos foram aprovados, independente do sexo.
      e) O percentual de alunas aprovadas.
      Obs.: o flag é uma matrícula igual a 0 (zero).
    • By g.dmatos
      Preciso desenvolver um algoritmo no Visualg, da função y=3x+8, onde, a partir da informação de um valor para a variável independente x, o sistema automaticamente informe o valor da variável dependente y.
       
      porém quando vou executar da erro no código:
      var x, y: real inicio escreval("Digite o valor do coeficiente x") leia(x) Escreval ("O valor da conta é igual a:" + y) Leia (y) y=(3.x)+8 fimdoalgoritmo  
    • By TEC2587
      Quando eu excuto o algoritmo, a primeira condição comporta-se bem, mas apartir da segunda aparece o erro:
       
      Esperava-se encontrar ENTAO na linha  "se((med=<8.9) e (med>=8))entao"
      Esperava-se encontrar ENTAO na linha  "escreval("Seu rendimento foi muito bom"
       
      Algoritmo "semnome"
       
       
      Var
         med: real
      Inicio
         escreval("-------------------")
         escreval(" RENDIMENTO ESCOLAR")
         escreval("--------------------")
         escreval("Qual é a sua média: ")
         leia(med)
         se ((med=10) ou (med>=9))entao
            escreval ("Seu rendimento foi excelente")
         senao
            se ((med=<8.9) e (med>=8))entao
               escreval("Seu rendimento foi muito bom")
            senao
               se ((med= 7.9) e (med>=7))entao
                  escreval("Seu rendimento foi bom")
               senao
                  se ((med=6.9) e (med>=6))entao
                     escreval("Seu rendimento foi regular")
                  senao
                     se ((med=5.9) e (med>=5))entao
                        escreval("Seu rendimento foi insuficiente")
                     senao
                        escreval("Seu rendimento foi ruim")
                     fimse
                  fimse
               fimse
            fimse
         fimse
      Fimalgoritmo
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.