Ir para conteúdo
Fórum Script Brasil
  • 0

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


DuarteGuilher

Pergunta

Alguém pode me ajudar a resolver esse raciocínio lógico que eu não estou conseguindo resolver, que é a implantação de um menu onde eu cadastro, listo, busco e excluo o usuário. 

e além de excluir o usuário, os posteriores tem que assumir a posição do que foi apagado.

 

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 para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...