Jump to content
Fórum Script Brasil
  • 0

Eu preciso de ajuda para reorganização da matriz após excluir um usuário


Question

eu preciso implantar no algoritmo a exclusão e a reorganização da matriz sendo assim, por exemplo após a exclusão do 3º cadastrado o 4º cadastrado tem que assumir a posição do 3º e assim suscetivelmente.     

 

Algoritmo "Remover usuário da estrutura de arrays bidimensionais"
 

procedimento menu ()
var
   op : caractere  // Opções do menu
   fimproc : inteiro // Opção de sair do menu
Inicio

   repita
      limpatela
      escreval ("********** Menu **********")
      escreval ("Digite o numero da opção desejada.")
      escreval ("")
      escreval ("1 - Cadastrar usuário")
      escreval ("2 - Listar")
      escreval ("3 - Buscar")
      escreval ("4 - Excluir")
      escreval ("5 - Sair")
      escreval ("")
      escreva ("Digite uma opção: ")
      leia(op)
      limpatela
      escolha(op)
      caso "1"
         cadastro()
      caso "2"
         listar()
      caso "3"
         buscar()
      caso "4"
         excluir()
      caso "5"
         fimproc <- 5
         interrompa
      outrocaso
         Menu()
      fimescolha
   ate(fimproc = 5)
fimprocedimento

procedimento cadastro()
var
   op: inteiro

inicio
   limpatela
   escreval ("--------- Menu de cadastro ---------")
   escreva ("Nome: ")
   Leia (usuario[cont,contd])
   contd := contd + 1
   escreva ("Idade: ")
   leia (usuario[cont,contd])
   cont := cont + 1
   contd := contd - 1
fimprocedimento

procedimento listar()
var

inicio
   para cont de 0 ate 4 faca
      escreva ("|Nome: ",Usuario[cont,0])
      escreval (" - Idade: ",usuario[cont,1],"|")
   fimpara
   escreval("----------------------")
   escreva ("Digite qualquer tecla para sair.")
   leia (sr)
fimprocedimento

procedimento buscar(): caractere
var
   nome : caractere
   encontrou : inteiro
   contador : inteiro
inicio
   limpatela
   escreval ("----- Buscar Cadastrados -----")
   escreva ("Digite o nome para a busca: ")
   leia(nome)
   limpatela
   encontrou <- 0

   para contador de 0 ate 4 faca
      se (usuario[contador]) = nome então

         escreval ("Nome: ", usuario[contador,0], "| Idade ", usuario[contador,1])
         encontrou <-1
      fimse
   fimpara

   se encontrou = 0 então
      escreval ("Usuário não encontrado")
   fimse
   leia (sr)

fimprocedimento

procedimento excluir()
var
   nome : caractere
   encontra : inteiro
   contador : inteiro
   scont : inteiro
   scontd : inteiro
   aux : caracter
inicio
   limpatela
   escreval ("----- Excluir Cadastrado -----")
   escreva ("Digite o nome para a Excluir; ")
   leia(nome)
   limpatela
   encontra <- 0

   para contador de 0 ate 4 faca
      se (usuario[contador]) = nome então
         usuario[contador,0]:= ""
         usuario[contador,1]:= ""
         encontra <-1
         escreval ("       Usuario Excluido!")
         escreval ("Aperte qualquer tecla para voltar.")
         leia(sr)

 // A Reorganização acontece aqui     

   se usuario[contador] = "" então
            para scont de contador+0 ate 4 faca
               para scontd de contador+0 ate 1 faca
                  aux <- usuario[cont,contd]
                  usuario[scont,scontd] <- usuario[scont+1,scontd+1]
                  usuario[cont,contd+1] <- usuario[scont,scontd+1]
                  usuario[cont+1,contd+1] <- aux
               fimpara
            fimpara
         fimse
      fimse
   fimpara

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      149150
    • Total Posts
      645417
×
×
  • Create New...