Ir ao conteúdo

Posts recomendados

Postado
algoritmo "Cadastro Ex"
var
   opcao, ti:inteiro
   nome, endereco:caractere
   cpf,telefone,data_nascimento:inteiro
   p:inteiro
inicio
   escreval("  =- HOSPITAL ALGUMA COISA AI =-  ")
   timer(1000)
   repita
      limpatela(0)
      timer(500)
      escreval("-----Cadastro Dos Pacientes-----")
      escreval("1-Adicionar")
      escreval("2-Alterar")
      escreval("3-consultar")
      escreval("4-Excluir")
      escreval("5-Sair")
      timer(0)
      leia(opcao)
      escolha opcao
      caso 1
         limpatela(0)
         escreva("Nome:")
         leia(nome)
         escreva("Endereço:")
         leia(endereco)
         escreva("CPF:")
         leia(cpf)
         escreva("Telefone:")
         leia(telefone)
         escreva("Data Nascimento:")
         leia(data_nascimento)
      caso 2
         escreval("-----Alterar Dados Dos Pacientes-----")
         escreval("Alterar Nome - pressione 1")
         escreval("Alterar Endereço - pressione 2")
         escreval("Aleterar CPF - pressione 3")
         escreval("Alterar Telefone - pressione 4")
         escreval("Alterar Data de Nascimento - pressione 5")
         leia(ti)
         se ti=1 então
            escreva("Altere o Nome:")
         senao
            se ti=2 então
               escreva("Altere o Endereço:")
            senao
               se ti=3 então
                  escreva("Altere o CPF:")
               senao
                  se ti=4 então
                     escreva("Altere o Telefone:")
                  senao
                     se ti=5 então
                        escreva("Altere a Data de Nascimento:")
                        limpatela(0)
                     fimse
                  fimse
               fimse
            fimse
         fimse
      caso 3
         escreval("-----Consultar Dados Dos Pacientes-----")
         escreval("Consultar Nome - pressione 1")
         escreval("Consultar Endereço - pressione 2")
         escreval("Consultar CPF - pressione 3")
         escreval("Consultar Telefone - pressione 4")
         escreval("Consultar Data de Nascimento - pressione 5")
         leia(ti)
         se ti=1 então
            escreva("Consulte o Nome:")
         senao
            se ti=2 então
               escreva("Consulte o Endereço:")
            senao
               se ti=3 então
                  escreva("Consulte o CPF:")
               senao
                  se ti=4 então
                     escreva("Consulte o Telefone:")
                  senao
                     se ti=5 então
                        escreva("Consulte a Data de Nascimento:")
                     fimse
                  fimse
               fimse
            fimse
         fimse
      caso 4
         escreval("-----Excluisão Dos Dados-----")
         escreval("Excluir Nome - pressione 1")
         escreval("Excluir Endereço - pressione 2")
         escreval("Excluir CPF - pressione 3")
         escreval("Excluir Telefone - pressione 4")
         escreval("Excluir Data de Nascimento - pressione 5")
         leia(ti)
         limpatela(0)
         se ti=1 então
            escreva("Exclua o Nome:")
         senao
            se ti=2 então
               escreva("Exclua o Endereço:")
            senao
               se ti=3 então
                  escreva("Exclua o CPF:")
               senao
                  se ti=4 então
                     escreva("Exclua o Telefone:")
                  senao
                     se ti=5 então
                        escreva("Exclua a Data de Nascimento:")
                        limpatela(0)
                     fimse
                  fimse
               fimse
            fimse
         fimse
      caso 5
         escreva("Cadrastro Fechado! TENHA UMA BOA NOITE!")
      outrocaso
         escreval("opção Invalida! Digite Novamente")
      fimescolha
   ate opcao=5
fimalgoritmo

 

  • Curtir 1
  • Membro VIP
Postado

@Bert09, seu código já está bom e organizado. A dica que dou é que vá começando do simples e vá implementando as funcionalidade aos poucos.

 

Algumas dicas:

  1. nada de usar timer() na fase de desenvolvimento. Para que raios você precisa ficar perdendo esses tempos? 😄
  2. a consulta (ou listagem) de cadastros é uma das partes mais importantes, pois após cadastrar dados, você meio que precisa de alguma base para ver se está cadastrando corretamente.

 

Vamos direto ao ponto:


Simplificada no código:

algoritmo "Cadastro Ex"
var
   opcao, opcao2 : inteiro
   nome, endereco, cpf : caractere
   telefone, data_nascimento : caractere
inicio
   escrevaL("  =- HOSPITAL ALGUMA COISA AI =-  ")
   //timer(1000)

   repita
      limpaTela()
      //timer(500)
      escrevaL("-----Cadastro Dos Pacientes-----")
      escrevaL("1 - Adicionar")
      escrevaL("2 - Alterar")
      escrevaL("3 - Consultar")
      escrevaL("4 - Excluir")
      escrevaL("5 - Sair")
      //timer(0)
      leia(opcao)

      escolha opcao
      caso 1
         limpaTela()
         escreva ("Nome: ")
         leia(nome)
         //escreva ("Endereço:")
         //leia(endereco)
         escreva ("CPF: ")
         leia(cpf)
         //escreva ("Telefone:")
         //leia(telefone)
         //escreva ("Data Nascimento:")
         //leia(data_nascimento)
      caso 2
         //Em breve
      caso 3
         escrevaL("-----Consultar Dados Dos Pacientes-----")
         escrevaL("Consultar Nome - pressione 1")
         //escrevaL("Consultar Endereço - pressione 2")
         //escrevaL("Consultar CPF - pressione 3")
         //escrevaL("Consultar Telefone - pressione 4")
         //escrevaL("Consultar Data de Nascimento - pressione 5")
         leia(opcao2)
      caso 4
         //Em breve
      caso 5
         escreva ("Cadrastro Fechado! TENHA UMA BOA NOITE!")
      outrocaso
         escrevaL("opção Invalida! Digite Novamente")
      fimEscolha
   ate (opcao = 5)
fimAlgoritmo


Esse código acima só está cadastrando o nome e CPF. Fazer algo simples primeiro.



Daí, implementado uma consulta bem simples... só para fazer rodar mesmo:

algoritmo "Cadastro Ex"
var
   opcao, opcao2 : inteiro
   nome, endereco, cpf : caractere
   telefone, data_nascimento : caractere
   nomePesquisa : caractere
   pause : caractere
inicio
   escrevaL("  =- HOSPITAL ALGUMA COISA AI =-  ")
   //timer(1000)

   repita
      limpaTela()
      //timer(500)
      escrevaL("-----Cadastro Dos Pacientes-----")
      escrevaL("1 - Adicionar")
      escrevaL("2 - Alterar")
      escrevaL("3 - Consultar")
      escrevaL("4 - Excluir")
      escrevaL("5 - Sair")
      //timer(0)
      leia(opcao)

      escolha opcao
      caso 1
         limpaTela()
         escreva ("Nome: ")
         leia(nome)
         //escreva ("Endereço:")
         //leia(endereco)
         escreva ("CPF: ")
         leia(cpf)
         //escreva ("Telefone:")
         //leia(telefone)
         //escreva ("Data Nascimento:")
         //leia(data_nascimento)
      caso 2
         //Em breve
      caso 3
         escrevaL("-----Consultar Dados Dos Pacientes-----")
         escrevaL("Consultar Nome - pressione 1")
         //escrevaL("Consultar Endereço - pressione 2")
         //escrevaL("Consultar CPF - pressione 3")
         //escrevaL("Consultar Telefone - pressione 4")
         //escrevaL("Consultar Data de Nascimento - pressione 5")
         leia(opcao2)

         escolha opcao2
         caso 1
            escrevaL("-----CONSULTA POR NOME-----")
            escreva ("Nome : ")
            leia(nomePesquisa)

            se (nomePesquisa = nome) entao
               escrevaL("Cadastro encontrado")
               escrevaL("Nome : ", nome)
               escrevaL("CPF  : ", cpf)
            senao
               escrevaL("Cadastro não encontrado")
            fimSe

            escrevaL()
            escreva ("Pressione ENTER para continuar")
            leia(pause)
         caso 2
            //Em breve
         caso 3
            //Em breve
         caso 4
            //Em breve
         caso 5
            //Em breve
         fimEscolha
      caso 4
         //Em breve
      caso 5
         escreva ("Cadrastro Fechado! TENHA UMA BOA NOITE!")
      outrocaso
         escrevaL("opção Invalida! Digite Novamente")
      fimEscolha
   ate (opcao = 5)
fimAlgoritmo

 

image.png


Observe NÃO precisa ficar cadastrando dados próximos do real... vai testando com dados simples...

 

 

AGORA VAMOS TRANSFORMAR DE VARIÁVEIS SIMPLES PARA VETORES.
Não vou explicar muito, mas basicamente o que foi implementado abaixo é baseado em algo "genérico", ou seja, a lógica meio que se repete e apenas é readaptado o código para o contexto.

 

algoritmo "Cadastro Ex"
const
   MAX = 3
var
   opcao, opcao2 : inteiro
   nomes, enderecos, cpfs : vetor[1..MAX] de caractere
   telefones, datasNascimentos : vetor[1..MAX] de caractere
   indice, i : inteiro
   nomePesquisa : caractere
   achou : logico
   pause : caractere
inicio
   indice <- 0
   escrevaL("  =- HOSPITAL ALGUMA COISA AI =-  ")
   //timer(1000)

   repita
      limpaTela()
      //timer(500)
      escrevaL("-----Cadastro Dos Pacientes-----")
      escrevaL("1 - Adicionar")
      escrevaL("2 - Alterar")
      escrevaL("3 - Consultar")
      escrevaL("4 - Excluir")
      escrevaL("5 - Sair")
      //timer(0)
      leia(opcao)

      escolha opcao
      caso 1
         indice <- indice+1
         limpaTela()
         escreva ("Nome: ")
         leia(nomes[indice])
         //escreva ("Endereço:")
         //leia(endereco)
         escreva ("CPF: ")
         leia(cpfs[indice])
         //escreva ("Telefone:")
         //leia(telefone)
         //escreva ("Data Nascimento:")
         //leia(data_nascimento)
      caso 2
         //Em breve
      caso 3
         escrevaL("-----Consultar Dados Dos Pacientes-----")
         escrevaL("Consultar Nome - pressione 1")
         //escrevaL("Consultar Endereço - pressione 2")
         //escrevaL("Consultar CPF - pressione 3")
         //escrevaL("Consultar Telefone - pressione 4")
         //escrevaL("Consultar Data de Nascimento - pressione 5")
         leia(opcao2)

         escolha opcao2
         caso 1
            escrevaL("-----CONSULTA POR NOME-----")
            escreva ("Nome : ")
            leia(nomePesquisa)

            achou <- FALSO

            para i de 1 ate MAX faca
               se (nomePesquisa = nomes[i]) entao
                  achou <- VERDADEIRO
                  escrevaL("Cadastro encontrado")
                  escrevaL("Nome : ", nomes[i])
                  escrevaL("CPF  : ", cpfs[i])
               fimSe
            fimPara

            se (não achou) entao
               escrevaL("Cadastro não encontrado")
            fimSe

            escrevaL()
            escreva ("Pressione ENTER para continuar")
            leia(pause)
         caso 2
            //Em breve
         caso 3
            //Em breve
         caso 4
            //Em breve
         caso 5
            //Em breve
         fimEscolha
      caso 4
         //Em breve
      caso 5
         escreva ("Cadrastro Fechado! TENHA UMA BOA NOITE!")
      outrocaso
         escrevaL("opção Invalida! Digite Novamente")
      fimEscolha
   ate (opcao = 5)
fimAlgoritmo


RESUMO
Basicamente, para uso de vetores, precisaia das variáveis (os vetores) e  "controladores das posições do vetor"... que no caso acima chamei um de indice para controlar a "quantidade de cadastros" e o i para "varrer o vetor". (Obs.: utiliza i é meio que um padrão.. mas não importa o nome utilizado, apenas usar o bom senso.)



Daí, poderia ir se baseando no código acima e ir ajustando e melhorando aos poucos...

Qual dúvida é só postar. 

  • Curtir 2

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!