Ir ao conteúdo

VisualG Adicionar um menu de alteração de Dados no VisualG!!


Ir à solução Resolvido por Nicolas Stevan,

Posts recomendados

  • Solução
Postado

Pessoal estou realizando um projeto no visualG para informar um sistemas de multas e eu queria adicionar um menu dizendo para alterar as multas, quem puder ajudar agradeço, pretendo fazer Um "CRUD"

 

E também um menu para excluir a multa que foi inserida

 

Meu Discord é nicolaszin#4707 qualquer dúvida

 

https://docs.google.com/document/d/18Ic4xA-Klg6SG2OKtptHZ-A6vSdZvzBBXx2BtyX_XkU/edit?usp=drivesdk

 

  • Obrigado 1
Postado

@Nicolas Stevan    no visualG 3.0  , para escrever  você pode usar o comando escreva ou escreval , sendo que esse segundo , após escrever o texto , irá pular para a linha de baixo  , e o outro não , e ler do teclado use o comando leia ,  comparações são feitas usando o comando  se , e tem os laços de repetição , "para / fimpara"   "enquanto / fimenquanto"  "repita / ate"  , você ainda dispõe de funções e procedimentos e registro  ,   então faça um código sobre esse exercício e poste aqui e ajudaremos  .

Postado

@devair1010, segue código:

 

Algoritmo "Sistema_de_Multas_de_Transito"
tipo
   Usuario = registro
      nome: caractere
      senha: caractere
   fimregistro

   TipoMulta = registro
      descricao: caractere
      valor: real
      pontosCarteira: inteiro
   fimregistro

   Multa = registro
      nome, modelo, placa : caractere
      carteira, grau: inteiro
   fimregistro
Var
   i, comandos, carteira, id, grau : inteiro
   qtnTent, qtnMult, qtnMultLv, qtnMultMd, qtnMultGv, qtnMultGvs : inteiro
   login, senha, nome, modelo, placa, seguir, apresentar : caractere
   vMult, vltMult, vlLeve, valorM, valorGv, valorGvs : real
   usuarioValido, encerrar, sequencia, escolhido : logico
   usuarios: vetor[1..5] de Usuario
   tiposMulta: vetor[1..4] de TipoMulta
   multas: vetor[1..100] de Multa
   posicao: inteiro

funcao telainicial(): caractere
inicio
   escreval("====================")
   escreval(" AUTOP ")
   escreval("====================")
fimfuncao

procedimento inicializarSistema()
inicio
   //Posição inicial do vetor de multas
   posicao := 0

   //Login dos usuarios
   usuarios[1].nome := "icaro"
   usuarios[1].senha := "1234"
   usuarios[2].nome := "jlucas"
   usuarios[2].senha := "1234"
   usuarios[3].nome := "leandro"
   usuarios[3].senha := "1234"
   usuarios[4].nome := "nicolas"
   usuarios[4].senha := "1234"
   usuarios[5].nome := "vitor"
   usuarios[5].senha := "1234"

   //Tipos de multa
   tiposMulta[1].descricao := "LEVE"
   tiposMulta[1].valor := 88.38
   tiposMulta[1].pontosCarteira := 3

   tiposMulta[2].descricao := "MEDIA"
   tiposMulta[2].valor := 130.16
   tiposMulta[2].pontosCarteira := 4

   tiposMulta[3].descricao := "GRAVE"
   tiposMulta[3].valor := 192.23
   tiposMulta[3].pontosCarteira := 5

   tiposMulta[4].descricao := "GRAVISSIMA"
   tiposMulta[4].valor := 297.47
   tiposMulta[4].pontosCarteira := 7
fimprocedimento

Inicio
   inicializarSistema();

   repita
      escreval("")
      apresentar := telainicial
      escreval(apresentar)
      escreval(apresentar)

      se (qtnTent = 2) entao
         escreval(" * Você tem apenas mais UMA TENTATIVA!")
      fimse

      //Login com validacão de senha
      escreva(" -> Login: ")
      leia(login)
      escreva(" -> Senha: ")
      leia(senha)

      usuarioValido := falso

      para i de 1 ate 5 faca
         se (usuarios[i].nome = login) e (usuarios[i].senha = senha) entao
            usuarioValido := verdadeiro
            id := i
         fimse
      fimpara

      se (não usuarioValido) entao
         qtnTent := qtnTent + 1
         escreval(" USUÁRIO E/OU SENHA INVÁLIDOS")

         escreval("")
         timer(100)

         se (qtnTent <> 3) entao
            escreval("Tente novamente em instantes...")
         fimse

         timer(1100)
         timer(0)
         limpatela
      fimse
   ate (usuarioValido) ou (qtnTent = 3)

   se (qtnTent = 3) e (não usuarioValido) entao
      encerrar := verdadeiro
   senao
      timer(100)
      escreval("Entrando...")
      timer(700)
      timer(0)
   fimse

   enquanto (encerrar = falso) faca
      limpatela
      escreval(apresentar)
      //Menu Principal
      escreval(" +--------------------------------------------------+")
      escreval(" | Bem vindo ao AUTOP - Sistemas de Placas e Multas |")
      escreval(" | Escolha o serviço que deseja realizar: |")
      escreval(" +--------------------------------------------------+")
      escreval(" | [1] Inserir multas |")
      escreval(" | [2] Gerar relatório |")
      escreval(" | [3] Sair |")
      escreval(" +--------------------------------------------------+")
      escreva("Opcão desejada: ")
      leia(comandos)

      se (comandos < 1) ou (comandos > 3) entao
         repita
            escreva("Digite uma opcão VÁLIDA: ")
            leia(comandos)
         ate (comandos >= 1) e (comandos <= 3)
      fimse

      se (comandos = 1) entao
         limpatela
         escreval(apresentar)

         //Dados do infrator
         escreval("Qual o nome completo do infrator? ")
         escreva("- ")
         leia(nome)

         se (nome = "") entao
            repita
               escreval("Digite um NOME VÁLIDO... ")
               escreva("- ")
               leia(nome)
            ate (nome <> "")
         fimse

         nome := Maiusc(nome)
         escreval("Qual o número da carteira do infrator EX:(123456)? ")
         escreva("- ")
         leia(carteira)

         //Validação do formato da carteira
         se ((compr(Numpcarac(carteira))) <> 6) entao
            repita
               escreval("Digite o número da carteira corretamente (formato: 123456)")
               escreva("- ")
               leia(carteira)
            ate ((compr(Numpcarac(carteira))) = 6 )
         fimse

         limpatela
         escreval(apresentar)

         //Dados do veículo
         escreval("Qual a placa do veículo EX:(ABC1234)? ")
         escreva("- ")
         leia(placa)

         //Validação do formato da placa
         se ((compr(Numpcarac(placa))) <> 7) entao
            repita
               escreval("Digite a placa corretamente (formato ABC1234)")
               escreva("- ")
               leia(placa)
            ate ((compr(Numpcarac(placa))) = 7 )
         fimse

         placa := Maiusc(placa)
         escreval("Qual o modelo do veículo? ")
         escreva("- ")
         leia(modelo)
         modelo := Maiusc(modelo)
         limpatela
         escreval(apresentar)

         //Menu multas
         escreval(" +--------------------------------+")
         escreval(" | GRAVIDADE DE MULTAS |")
         escreval(" +--------------------------------+")

         para i de 1 ate 4 faca
            escreval(" | [",i:1,"] ",tiposMulta[i].descricao," R$", tiposMulta[i].valor," |")
         fimpara

         escreval(" +--------------------------------+")

         //Para não gerar conflito nas definições do escolha
         grau := 0
         escolhido := falso

         repita
            escreval("")
            escreval("Qual o tipo da multa do infrator? ")
            escreva("-> ")
            leia(grau)

            se (grau >= 1) e (grau <= 4) entao
               escolhido := verdadeiro
            senao
               escreval("TIPO INVÁLIDO!!!")
            fimse

            se (escolhido = verdadeiro) entao
               interrompa
            fimse
         ate falso

         posicao := posicao + 1
         multas[posicao].nome := nome
         multas[posicao].modelo := modelo
         multas[posicao].placa := placa
         multas[posicao].carteira := carteira
         multas[posicao].grau := grau

         limpatela

         escreval(apresentar)

         //Relatorio do infrator
         escreval(" + - - - - - - - - - - - - - - - - - - - - - - - - - - +")
         escreval(" | NOTIFICAÇÃO DE AUTUAÇÃO |")
         escreval(" | POR INFRAÇÃO À LEGISLAÇÃO DE TRÂNSITO |")
         escreval(" + - - - - - - - - - - - - - - - - - - - - - - - - - - +")
         escreval(" Nome: ", nome, " | CNH:", carteira )
         escreval(" Modelo do veiculo: ", modelo, " | Placa: ", placa )
         escreval(" Tipo da multa: ", tiposMulta[grau].descricao," | Pontos:", tiposMulta[grau].pontosCarteira," | Valor: ", tiposMulta[grau].valor:2:2)
         escreval(" ________")
         escreval(" * Notificação cadastrada por usuário de id [", usuarios[id].nome,"]*")
         escreval("")
         escreval("Aperte ENTER para da sequência:")
         leia(sequencia)
      senao
         se (comandos = 2) entao
            limpatela
            escreval(apresentar)
            qtnMultLv := 0
            qtnMultMd := 0
            qtnMultGv := 0
            qtnMultGvs := 0
            vltMult := 0

            para i de 1 ate posicao faca
               escolha (multas[i].grau)
               caso 1
                  qtnMultLv := qtnMultLv + 1
                  vlLeve := tiposMulta[multas[i].grau].valor
               caso 2
                  qtnMultMd := qtnMultLv + 1
                  valorM := tiposMulta[multas[i].grau].valor
               caso 3
                  qtnMultGv := qtnMultLv + 1
                  valorGv := tiposMulta[multas[i].grau].valor
               caso 4
                  qtnMultGvs := qtnMultLv + 1
                  valorGvs := tiposMulta[multas[i].grau].valor
               fimescolha
               vltMult := vltMult + tiposMulta[multas[i].grau].valor
            fimpara

            //Relatório Geral
            escreval(" + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +")
            escreval(" | RELATÓRIO AUTOP-PDF |")
            escreval(" + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +")
            escreval(" - Foi aplicado", qtnMultLv, " multa(s) LEVE, arrecadando: R$ ", vlLeve:2:2)
            escreval(" - Foi aplicado", qtnMultMd, " multa(s) MEDIA, arrecadando: R$ ", valorM:2:2)
            escreval(" - Foi aplicado", qtnMultGv, " multa(s) GRAVE, arrecadando: R$ ", valorGv:2:2)
            escreval(" - Foi aplicado", qtnMultGvs, " multa(s) GRAVISSIMA, arrecadando: R$ ", valorGvs:2:2)
            escreval("")
            escreval(" TOTAL DE MULTAS", posicao, " | TOTAL ARRECADADO: R$ ", vltMult:2:2)
            escreval(" ________")
            escreval("")
            escreval("")
            escreval("- Digite 1 para CONTINUAR e 2 para FINALIZAR.")
            escreva("Opção desejada: ")
            leia(seguir)

            se (seguir = "2") entao
               encerrar := verdadeiro
               timer(0)
               escreval("FINALIZANDO PROCEDIMENTO...")
               timer(500)
               limpatela
               timer(0)
            fimse
         senao
            se (comandos = 3) entao
               timer(0)
               escreval("FINALIZANDO PROCEDIMENTO...")
               timer(500)
               limpatela
               timer(0)
               encerrar := verdadeiro
            fimse
         fimse
      fimse
   fimenquanto

   limpatela
   escreval(apresentar)
   apresentar := telainicial
   escreval(apresentar)

   se (qtnTent <> 3) entao
      escreval(" * PROCEDIMENTO FINALIZADO *")
   senao
      escreval(" * ACESSO NEGADO *")
   fimse
Fimalgoritmo
  • Obrigado 1
Postado

@kgin

 

nem tem um enunciado man kk, basicamente eu tenho que fazer um projeto de acordo com o "CRUD" se tu pesquisar o que significa: Create, Read, Update, Delete. Eu tenho que criar um projeto que tenha pelo menos esses quatro menus, o meu já tem o de inserir multas, consultar multas e o de sair do processo. Basicamente so falta ter a opção "delete" q é excluir uma multa gerada, e um menu de alterar uma multa armazenada, conseguiu compreender?

  • Obrigado 1
Postado

@Nicolas Stevan tá meio complicado o seu algoritmo, e ele também tá com um erro que eu não estou conseguindo visualizar uma solução.

 

Erro apresentado

crud_maluco.thumb.png.799fd1b9eba2ae04b3092c82db614d49.png

 

Poste o código com o botão <> code no fórum. ter que ficar copiando do fórum muda a formatação do código. 

  • Curtir 1
Postado

@devair1010

 

Como assim criar uma multa? não adicionei, so coloquei para consultar uma multa, e na parte de criar multa, ta na parte de inserir uma multa que é quando você insere os dados do infrator e gera automaticamente uma multa.

@kgin

 

abre e fecha o visualg nessa parte estava dando esse mesmo erro, na parte de escolher o tipo da multa, mais agora aqui ta pegando normalmente, achei estranho, mais tenta ver os outros tipos de multas coloca o numero 3 ou 2 para multas medias e graves.

  • Amei 1
Postado

@kgin   é a variável "apresentar"  caractere , está sem inicializar ,  e depois de inicializa la não dá erro ,

@Nicolas Stevan agora que observei lá no código tem um se referente a essa opção ,  mas seria melhor usar um procedimento mesmo .

Algoritmo "Sistema_de_Multas_de_Transito"
tipo
   Usuario = registro
      nome: caractere
      senha: caractere
   fimregistro
   TipoMulta = registro
      descricao: caractere
      valor: real
      pontosCarteira: inteiro
   fimregistro
   Multa = registro
      nome, modelo, placa : caractere
      carteira, grau: inteiro
   fimregistro
Var
   i, comandos, carteira, id, grau,qtnMultGvs        : inteiro
   qtnTent, qtnMult, qtnMultLv, qtnMultMd, qtnMultGv : inteiro
   login, senha, nome, modelo, placa                 : caractere
   seguir, apresentar , espere                       : caractere
   vMult, vltMult, vlLeve, valorM, valorGv, valorGvs : real
   usuarioValido, encerrar, sequencia, escolhido     : logico
   usuarios                                          : vetor[1..5  ] de Usuario
   tiposMulta                                        : vetor[1..4  ] de TipoMulta
   multas                                            : vetor[1..100] de Multa
   posicao                                           : inteiro
funcao telainicial(): caractere
inicio
   escreval("====================")
   escreval(" AUTOR ")
   escreval("====================")
fimfuncao
procedimento inicializarSistema()
inicio
   //Posição inicial do vetor de multas
   posicao           := 0
   apresentar := "apsentou_se"
   //Login dos usuarios
   usuarios[1].nome  := "icaro"
   usuarios[1].senha := "1234"
   usuarios[2].nome  := "jlucas"
   usuarios[2].senha := "1234"
   usuarios[3].nome  := "leandro"
   usuarios[3].senha := "1234"
   usuarios[4].nome  := "nicolas"
   usuarios[4].senha := "1234"
   usuarios[5].nome  := "vitor"
   usuarios[5].senha := "1234"
   //Tipos de multa
   tiposMulta[1].descricao      :=       "LEVE"
   tiposMulta[1].valor          :=       88.38
   tiposMulta[1].pontosCarteira :=           3
   tiposMulta[2].descricao      :=      "MEDIA"
   tiposMulta[2].valor          :=      130.16
   tiposMulta[2].pontosCarteira :=           4
   tiposMulta[3].descricao      :=      "GRAVE"
   tiposMulta[3].valor          :=      192.23
   tiposMulta[3].pontosCarteira :=           5
   tiposMulta[4].descricao      := "GRAVISSIMA"
   tiposMulta[4].valor          :=      297.47
   tiposMulta[4].pontosCarteira :=           7
fimprocedimento
Inicio
   inicializarSistema();
   login := "icaro"
   senha := "1234"
   repita
      apresentar := "apresentoU"
      escreval("apresentar= ",apresentar)
      escreval(apresentar)
      se qtnTent = 2 entao
         escreval(" * Você tem apenas mais UMA TENTATIVA!")
      fimse
      //Login com validacão de senha
      escreva(" -> Login: ")
      // leia(login)
      escreva(" -> Senha: ")
      // leia(senha)
      usuarioValido := falso
      para i de 1 ate 5 faca
         se (usuarios[i].nome = login) e (usuarios[i].senha = senha) entao
            usuarioValido := verdadeiro
            id := i
         fimse
      fimpara
      se usuarioValido = falso entao
         qtnTent := qtnTent + 1
         escreval(" USUÁRIO E/OU SENHA INVÁLIDOS")
         escreval("")
         timer(100)
         se qtnTent <> 3 entao
            escreval("Tente novamente em instantes...")
         fimse
         timer(1100)
         timer(0)
         limpatela
      fimse
   ate (usuarioValido) ou (qtnTent = 3)
   se (qtnTent = 3) e ( usuarioValido = falso ) entao
      encerrar := verdadeiro
   senao
      timer(100)
      escreval("Entrando...")
      timer(700)
      timer(0)
   fimse
   enquanto encerrar = falso faca
      limpatela
      escreval(apresentar)
      //Menu Principal
      escreval(" +--------------------------------------------------+")
      escreval(" | Bem vindo ao AUTOP - Sistemas de Placas e Multas |")
      escreval(" | Escolha o serviço que deseja realizar: |")
      escreval(" +--------------------------------------------------+")
      escreval(" | [1] Inserir multas |")
      escreval(" | [2] Gerar relatório |")
      escreval(" | [3] Sair |")
      escreval(" +--------------------------------------------------+")
      escreva("Opcão desejada: ")
      leia(comandos)
      se (comandos < 1) ou (comandos > 3) entao
         repita
            escreva("Digite uma opcão VÁLIDA: ")
            leia(comandos)
         ate (comandos >= 1) e (comandos <= 3)
      fimse
      se comandos = 1 entao
         limpatela
         leia( espere )
         escreval(apresentar)
         //Dados do infrator
         escreval("Qual o nome completo do infrator? ")
         escreva("- ")
         leia(nome)
         se (nome = "") entao
            repita
               escreval("Digite um NOME VÁLIDO... ")
               escreva("- ")
               leia(nome)
            ate (nome <> "")
         fimse
         nome := Maiusc(nome)
         escreval("Qual o número da carteira do infrator EX:(123456)? ")
         escreva("- ")
         leia(carteira)
         //Validação do formato da carteira
         se ( compr ( Numpcarac ( carteira ) ) ) <> 6 entao
            repita
               escreval("Digite o número da carteira corretamente (formato: 123456)")
               escreva("- ")
               leia(carteira)
            ate ( compr ( Numpcarac ( carteira ) ) ) = 6
         fimse
         limpatela
         escreval(apresentar)
         //Dados do veículo
         escreval("Qual a placa do veículo EX:(ABC1234)? ")
         escreva("- ")
         leia( placa )
         //Validação do formato da placa
         se ( compr ( Numpcarac ( placa ) ) ) <> 7 entao
            repita
               escreval("Digite a placa corretamente (formato ABC1234)")
               escreva("- ")
               leia(placa)
            ate ((compr(Numpcarac(placa))) = 7 )
         fimse
         placa := Maiusc(placa)
         escreval("Qual o modelo do veículo? ")
         escreva("- ")
         leia(modelo)
         modelo := Maiusc(modelo)
         limpatela
         escreval(apresentar)
         //Menu multas
         escreval(" +--------------------------------+")
         escreval(" | GRAVIDADE DE MULTAS |")
         escreval(" +--------------------------------+")
         para i de 1 ate 4 faca
            escreval(" | [",i:1,"] ",tiposMulta[i].descricao," R$", tiposMulta[i].valor," |")
         fimpara
         escreval(" +--------------------------------+")
         //Para não gerar conflito nas definições do escolha
         grau := 0
         escolhido := falso
         repita
            escreval("")
            escreval("Qual o tipo da multa do infrator? ")
            escreva("-> ")
            leia(grau)
            se (grau >= 1) e (grau <= 4) entao
               escolhido := verdadeiro
            senao
               escreval("TIPO INVÁLIDO!!!")
            fimse
            se (escolhido = verdadeiro) entao
               interrompa
            fimse
         ate falso
         posicao := posicao + 1
         multas[posicao].nome := nome
         multas[posicao].modelo := modelo
         multas[posicao].placa := placa
         multas[posicao].carteira := carteira
         multas[posicao].grau := grau
         limpatela
         escreval(apresentar)
         //Relatorio do infrator
         escreval(" + - - - - - - - - - - - - - - - - - - - - - - - - - - +")
         escreval(" | NOTIFICAÇÃO DE AUTUAÇÃO |")
         escreval(" | POR INFRAÇÃO À LEGISLAÇÃO DE TRÂNSITO |")
         escreval(" + - - - - - - - - - - - - - - - - - - - - - - - - - - +")
         escreval(" Nome: ", nome, " | CNH:", carteira )
         escreval(" Modelo do veiculo: ", modelo, " | Placa: ", placa )
         escreval(" Tipo da multa: ", tiposMulta[grau].descricao," | Pontos:", tiposMulta[grau].pontosCarteira," | Valor: ", tiposMulta[grau].valor:2:2)
         escreval(" ________")
         escreval(" * Notificação cadastrada por usuário de id [", usuarios[id].nome,"]*")
         escreval("")
         escreval("Aperte ENTER para da sequência:")
         leia(sequencia)
      senao
         se comandos = 2 entao
            limpatela
            escreval(apresentar)
            qtnMultLv := 0
            qtnMultMd := 0
            qtnMultGv := 0
            qtnMultGvs := 0
            vltMult := 0
            para i de 1 ate posicao faca
               escolha (multas[i].grau)
               caso 1
                  qtnMultLv := qtnMultLv + 1
                  vlLeve := tiposMulta[multas[i].grau].valor
               caso 2
                  qtnMultMd := qtnMultLv + 1
                  valorM := tiposMulta[multas[i].grau].valor
               caso 3
                  qtnMultGv := qtnMultLv + 1
                  valorGv := tiposMulta[multas[i].grau].valor
               caso 4
                  qtnMultGvs := qtnMultLv + 1
                  valorGvs := tiposMulta[multas[i].grau].valor
               fimescolha
               vltMult := vltMult + tiposMulta[multas[i].grau].valor
            fimpara
            //Relatório Geral
            escreval(" + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +")
            escreval(" | RELATÓRIO AUTOP-PDF |")
            escreval(" + - - - - - - - - - - - - - - - - - - - - - - - - - - - - +")
            escreval(" - Foi aplicado", qtnMultLv, " multa(s) LEVE, arrecadando: R$ ", vlLeve:2:2)
            escreval(" - Foi aplicado", qtnMultMd, " multa(s) MEDIA, arrecadando: R$ ", valorM:2:2)
            escreval(" - Foi aplicado", qtnMultGv, " multa(s) GRAVE, arrecadando: R$ ", valorGv:2:2)
            escreval(" - Foi aplicado", qtnMultGvs, " multa(s) GRAVISSIMA, arrecadando: R$ ", valorGvs:2:2)
            escreval("")
            escreval(" TOTAL DE MULTAS", posicao, " | TOTAL ARRECADADO: R$ ", vltMult:2:2)
            escreval(" ________")
            escreval("")
            escreval("")
            escreval("- Digite 1 para CONTINUAR e 2 para FINALIZAR.")
            escreva("Opção desejada: ")
            leia(seguir)
            se seguir = "2" entao
               encerrar := verdadeiro
               timer(0)
               escreval("FINALIZANDO PROCEDIMENTO...")
               timer(500)
               limpatela
               timer(0)
            fimse
         senao
            se comandos = 3 entao
               timer(0)
               escreval("FINALIZANDO PROCEDIMENTO...")
               timer(500)
               limpatela
               timer(0)
               encerrar := verdadeiro
            fimse
         fimse
      fimse
   fimenquanto
   limpatela
   escreval(apresentar)
   apresentar := telainicial
   escreval(apresentar)
   se (qtnTent <> 3) entao
      escreval(" * PROCEDIMENTO FINALIZADO *")
   senao
      escreval(" * ACESSO NEGADO *")
   fimse
Fimalgoritmo

 

Postado

@devair1010

 

beleza mano entendi, agora em relação a mais um menu de excluir uma multa criada, deveria criar uma função determinada so para excluir não? ou um procedimento talvez.  outra coisa tu talvez tenha tirado o sistema de login né? podia deixar, o login era, Nicolas e a senha, era 1234 vou deixar o painel login pra deixar mais parecido com um sistema mesmo kk.

  • Obrigado 1
Postado

@Nicolas Stevan   na hora de testar não precisa e abre mais rápido , mas depois de tudo pronto você coloca novamente , basta deletar essas linhas 

Inicio
   inicializarSistema();
   // login := "icaro"  aqui eh o login pode deletar depois
   // senha := "1234"   aqui eh a senha pode deletar depois
   repita
      apresentar := "apresentoU" // inicializar a variavel
      // escreval("apresentar= ",apresentar)     aqui pode delar tambem
      // escreval(apresentar)                    aqui pode delar tambem
      se qtnTent = 2 entao
         escreval(" * Você tem apenas mais UMA TENTATIVA!")
      fimse
      //Login com validacão de senha
      escreva(" -> Login: ")
      leia(login)                                // remova as barras // de comentario
      escreva(" -> Senha: ")
      leia(senha)                                // remova as barras // de comentario
      usuarioValido := falso
      para i de 1 ate 5 faca

 

Postado

@devair1010

 

beleza mano, basicamente isso ai que tu fez é pra eu incluir no meu código ou apagar? porque pelo que eu vi o código ta o mesmo, você so colocou do lado alguns comentários para apagar é isso?  e outra a parte de excluir uma multa, conseguisse estou tentando aqui mas ta complicado.
você tem discord? se tiver me diz aii por gentileza.

  • Obrigado 1
Postado

@Nicolas Stevan    para retirar algum dado do vetor ,  você usa um laço de repetição , para pesquisar  no vetor e encontrando o dado use outro laço começando dessa posição onde está o dado e pegue todos os dados da posição da frente e coloque elas nessa posição onde está o dado incremente e repita até o valor dessa sua variável "posicao"  e depois decremente ela em uma unidade pois excluiu os dados de uma posição do vetor .

Postado

@Nicolas Stevan    algo parecido com isso 

procedimento excluir_multa
var
  j    : inteiro
  nom  : caractere
inicio
  escreva("o Nome da Pessoa Multada ")
  leia(nom)                        // nome da pess multada p/ pesq
  para i de 1 ate posicao faca     // pesquisa em todo o vetor
    se multas[i].nome = nom entao  // encontrou
      para j de i ate posicao faca // puxa p/ pos anterior
         multas[j].nome     := multas[j+1].nome
         multas[j].modelo   := multas[j+1].modelo
         multas[j].placa    := multas[j+1].placa
         multas[j].carteira := multas[j+1].carteira
         multas[j].grau     := multas[j+1].grau
      fimpara
      posicao := posicao - 1 // decrementa posicao pois removeu hum
      interrompa             // sai desse segundo loop já terminou de excluir
    fimse
  fimpara
fimprocedimento
//----------------  Inicio do Programa  --------------
inicio
  escreval(" +--------------------------------------------------+")
  escreval(" | Bem vindo ao AUTOP - Sistemas de Placas e Multas |")
  escreval(" | Escolha o serviço que deseja realizar:           |")
  escreval(" +--------------------------------------------------+")
  escreval(" | [0] Sair Do Programa                             |")
  escreval(" | [1] Inserir multas                               |")
  escreval(" | [2] Gerar relatório                              |")
  escreval(" | [3] excluir Multa                                |")
  escreval(" +--------------------------------------------------+")
  escreva("Opcão desejada: ")
  leia(comandos)
  se comandos = 0 entao
    fimalgoritmo
  senao
    se comandos = 3 entao
      excluir_multa
    senao  /// . . . ! o restante


        
    fimse    
  fimse         

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!