Ir ao conteúdo

Posts recomendados

Postado

Ola tenho que entregar este trabalho para sexta feira to precisando de ajuda para completar ele


o codigo ate agr

a questão a seguir

 

Faça um programa para armazenar o RG de 100 usuários. O programa terá a opção de adicionar, buscar ou remover os dados. O programa deverá ter as seguintes condições:

Adicionar:

Verifique se o vetor está ou não lotado antes de inserir

Pesquisar:

O usuário poderá escolher entre a pesquisa sequencial ou sequencial com sentinela

Remover:

O usuário poderá escolher entre remover todos os elementos do vetor ou somente um

No caso de somente um elemento, o usuário deverá informar qual o elemento a ser removido (reposicione o vetor no caso de algum elemento no meio)


 

Algoritmo "Questão 1"
var
   func    :vetor[1..100] de inteiro
   total   :inteiro
   menu    :inteiro

procedimento aguardarENTER()
var
   aux :caractere
inicio
   escreva ("Pressione ENTER para continuar")
   leia(aux)
fimProcedimento

procedimento Adicionar()
inicio
   limpaTela
   se (total<=100) entao
      escreval("ALGORITMO – PROGRAMA RG")
      escreval("ADICIONAR ELEMENTO")
      escreva ("RG [",total,"]:")
      leia(func[total])
      total<-total+1
   senao
      escreval("NÃO PODE MAIS CADASTRAR NENHUM FUNCIONÁRIO!")
      aguardarENTER
   fimSe
fimProcedimento

procedimento Pesquisar()
var
   subMenu :inteiro //usado no menu local
inicio
   limpaTela
   repita
      escreval(" ALGORITMO – PROGRAMA RG")
      escreval("PESQUISAR ELEMENTO")
      escreval("[1] Pesquisa Sequencial")
      escreval("[2] Pesquisar Binária")
      escreval("[0] Voltar")
      escreval("Opção:")
      leia(subMenu)
      escolha subMenu
      caso 1
         PesquisaSequencial()
      caso 2
         BuscaBinaria()
      fimEscolha
   ate (subMenu=0)
fimProcedimento

procedimento PesquisaSequencial()
var
   num: inteiro
inicio
   escreval ("Digite o RG para pesquisar :")
   leia(num)
   total <- 1
   enquanto (total < 3) e (func[total] <> num) faca
      total <- total + 1
   fimenquanto
   se func[total] = num entao
      escreva ("O RG foi localizado na posição [", total,"]")
   senao
      escreva ("O RG Não foi encontrado!!")
   fimse
   escreval
   aguardarENTER
fimprocedimento

procedimento BuscaBinaria
Var pesq,comeco,final,meio:inteiro
   acha:logico
inicio
   escreva (" Digite o RG para pesquisar: ")
   leia (pesq)
   comeco <-1
   final <- 3
   acha <- falso
   enquanto (comeco <= final) E (acha= falso) FACA
      meio <- (comeco + final) div 2
      se (pesq = func[meio]) entao
         acha<- verdadeiro
      senao
         se (pesq < func[meio]) entao
            final <- meio - 1
         senao
            comeco <- meio + 1
         fimse
      fimse
   fimenquanto
   se func[meio] = pesq entao
      escreva(pesq," O RG foi localizado na posição",meio)
   senao
      escreva(pesq," O RG Não foi encontrado!!")
   fimse
   escreval
   aguardarENTER
fimprocedimento

procedimento Excluir()
var
   i:inteiro
   procura: inteiro
   achou : logico
   apaga : INTEIRO
inicio
   Limpatela
   Escreva("Digite o RG que deseja excluir.: ")
   Leia(procura)
   Escreval("|---------|")
   achou <- falso
   para i de 1 ate 100 faca
      Se (func = procura) entao
         achou <- verdadeiro
         interrompa
      FimSe
   FimPara
   Se achou entao
      Limpatela
      Escreval("|         Confirma a exclusão do RG abaixo?       ")
      Escreval("|-------------------------------------")
      Escreval("| RG....: ", func)
      func <- apaga
      Escreval("| RG....: ", func)
      Limpatela
      escreval("|        Registro Excluído com Sucesso |")
   fimse
   Limpatela
   escreval
   aguardarENTER
fimprocedimento

inicio
   total<-1 //inicializa o total de cadastros
   repita
      limpaTela
      escreval("Questão 1 - Programa RG UNICARIOCA  ")
      escreval("[1] Adicionar                       ")
      escreval("[2] Pesquisar                       ")
      escreval("[3] Remover                         ")
      escreval("[0] Sair                            ")
      escreval("")
      escreva ("Opção:")
      leia(menu)
      escolha menu
      caso 0
         escreval("Desconectado")
      caso 1
         Adicionar()
      caso 2
         Pesquisar()
      caso 3
         Excluir()
      fimEscolha
   ate(menu=0)
fimAlgoritmo

 

  • Membro VIP
Postado

Vamos lá:

 

Sobre:

8 horas atrás, VIctor Raphael disse:

var
   func    :vetor[1..100] de inteiro

 

 

O que teria a ver "func" com "RG"? Aqui já tem algo estranho...   uma recomendação seria utilizar "nomenclaturas de variáveis sugestivas para o contexto delas". Que tal vetRG?

 

Então, recomendaria refazer todo o código aos poucos... como já fez muita coisa, creio que não terá muita dificuldade com as partes já feitas... mas ao mesmo tempo servirá para revisar melhor...

 

Por exemplo (seria só um exemplo mesmo, você pode ir ajustando da forma desejada) : 

 

Sobre:

8 horas atrás, VIctor Raphael disse:

Adicionar:

Verifique se o vetor está ou não lotado antes de inserir

 

Algoritmo "Questão 1 - Cadastro de 100 RG"
const
   //MAX = 100
   MAX = 3
var
   vetRG: vetor[1..MAX] de inteiro
   total: inteiro
   menu : caractere

procedimento aguardarENTER()
var
   aux :caractere
inicio
   escreva ("Pressione ENTER para continuar")
   leia(aux)
fimProcedimento

procedimento Adicionar()
inicio
   limpaTela
   se (total <= MAX) entao
      total <- total+1
      escreval("ALGORITMO – PROGRAMA RG")
      escreval("ADICIONAR ELEMENTO")
      escreva ("RG [", total:1, "]:")
      leia(vetRG[total])
   senao
      escreval("NÃO PODE MAIS CADASTRAR NENHUM FUNCIONÁRIO!")
      escreval("Capacidade máxima (", MAX:1, ") atingida")
      escreval("")
      aguardarENTER()
   fimSe
fimProcedimento

inicio
   total <- 0
   repita
      limpaTela
      escreval("Questão 1 - Programa RG UNICARIOCA  ")
      escreval("[1] Adicionar                       ")
      escreval("[2] Pesquisar                       ")
      escreval("[3] Remover                         ")
      escreval("[0] Sair                            ")
      escreval("")
      escreva ("Opção:")
      leia(menu)
      
      escolha menu
      caso "0"
         escreval("Desconectado")
      caso "1"
         Adicionar()
      caso "2"
         //Pesquisar()
      caso "3"
         //Excluir()
      fimEscolha
   ate (menu = "0")
fimAlgoritmo

 

Parece que ficou mais ou menos correto... qualquer coisa revise... mas tente garantir que está funcionando bem.

 

Daí, posteriormente tente:

8 horas atrás, VIctor Raphael disse:

Pesquisar:

O usuário poderá escolher entre a pesquisa sequencial


No seu código anterior, essa parte não está funcionando corretamente.. daí implemente APENAS essa pesquisa sequencial no seu novo código (que pode ser baseado nesse acima)... revisando bem até que esteja funcionando tudo certinho.

 

Poste o código completo aqui até essa parte. Não tem fazer mais coisas! Caso tenha dúvidas, é só postar.

 

Depois você decide se vai implementar o sequencial com sentinela ou excluir... mas isso só depois ter finalizado o adicionar e a pesquisa sequencial.

 

Adendo: a base para excluir é parecida com a base de pesquisar... se pesquisar não está funcionando ainda, como vai iriamos tentar implementar o excluir? 

 

No aguardo.

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!