Ir ao conteúdo
  • Cadastre-se

VisualG Gerenciador de pacientes no VisualG


Posts recomendados

Eu estou desenvolvendo um trabalho: um gerenciador de pacientes. Ele deve gerenciar e armazenar dados de 10 pacientes, porém ele está tendo o erro de "Esperava encontrar então" na última opção. Se não for este erro ele acaba entrando em loop e não voltando para o menu.
 

tipo
   paciente=registro
      idade       : real
      nome        : caractere
      sexo        : caractere

      cpf         : caractere
      telefone    : caractere
      endereco    : caractere

      status      : caractere
      anotacao    : caractere
      relatorio   : caractere
   fimregistro

var
   opcao                    : inteiro

   cadastro                 : vetor[1..10] de paciente
   c                        : inteiro
   i                        : inteiro

   a1,a2,a3,a4,a5           : inteiro
   pacientes                : caractere
   situacao                 : caractere
   procedimentos            : caractere
   relatorio                : caractere
   fechar                   : caractere

inicio
   repita
      escreval("cadastro de pacientes")
      escreval("1 - Pacientes      ")
      escreval("2 - Situação       ")
      escreval("3 - Procedimentos  ")
      escreval("4 - Relatórios     ")
      escreval("5 - Fechar sistema ")
      escreval("Opção: ")
      leia(opcao)
      limpatela

      se opcao="1" entao
         i<-i+1
         escreval("preencha os campos requisitados")

         escreva("nome: ")
         leia (cadastro.nome[i])

         escreva("cpf: ")
         leia (cadastro.cpf[i])

         escreva("idade: ")
         leia (cadastro.idade[i])

         escreva("sexo: ")
         leia (cadastro.sexo[i])

         escreva("telefone: ")
         leia (cadastro.telefone[i])

         escreva("endereço: ")
         leia (cadastro.endereco[i])

         leia (cadastro.anotacao[i])
         escreva("relatorio: ")
         leia (cadastro.relatorio[i])

         limpatela

         leia (cadastro.relatorio[i])
      fimse

      se opcao="2" entao
         i<-i+1
         escreval("situação do paciente: ")
         leia (situacao)
      fimse

      se opcao="3" entao
         i<-i+1
         escreval("procedimentos")
         leia (procedimentos)
      fimse

      se opcao="4" entao
         i<-i+1
         escreval("relatório")
         leia (relatorio)
      fimse

      escreval
      se op <> "5" entao
         escreva("           Tecle Enter para Voltar ao Menu")
         leia(continuar)
      senao
         escreval("    Saindo Do Programa . . . !")
      fimse
   ate op = "5"
fimAlgoritmo

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

1.

19 horas atrás, Luiz Campos disse:
      escreval
      se op <> "5" entao
         escreva("           Tecle Enter para Voltar ao Menu")
         leia(continuar)
      senao
         escreval("    Saindo Do Programa . . . !")
      fimse

Remova esse trecho do código.

 

 

2.

19 horas atrás, kgin disse:

você não declarou às variáveis op e continuar.


Lá no ate mude de op para opcao e declare continuar com o tipo caractere.

 

@Luiz Campos, além dos ponto acima. Poste o enunciado completo da questão. O que vai ser feito código depende daqui que foi solicitado para ser feito.

 

Segue um esboço de ajustes/sugestões para poder servir de base:
 

algoritmo "Gerenciador"
const
   TAM = 10
tipo
   t_paciente = registro
      idade     :inteiro
      nome      :caractere
      sexo      :caractere
      cpf       :caractere
      telefone  :caractere
      endereco  :caractere
      status    :caractere
      anotacao  :caractere
      relatorio :caractere
   fimRegistro

var
   pacientes :vetor[1..TAM] de t_paciente
   codUltimo, codPesquisa :inteiro
   opcao     :caractere
   continuar :caractere

inicio
   codUltimo <- 0 //no VisualG não precisa, mas deixa para pegar o costume

   repita
      LimpaTela()
      escrevaL("Pacientes cadatrados: ", codUltimo)
      escreval("Cadastro de Pacientes")
      escreval("1 - Pacientes        ")
      escreval("2 - Situação         ")
      escreval("3 - Procedimentos    ")
      escreval("4 - Relatórios       ")
      escreval("5 - Fechar sistema   ")
      escreva ("Opção: ")
      leia(opcao)

      LimpaTela()

      se opcao = "1" entao
         codUltimo <- codUltimo+1
         escrevaL("## CADASTRO DE NOVOS PACIENTES ##")
         escrevaL("Preencha os campos requisitados")
         escreva ("Nome: ")
         ALEATORIO ON
         leia (pacientes.nome[codUltimo])
         escreva ("CPF: ")
         leia (pacientes.cpf[codUltimo])
         escreva ("Idade: ")
         leia (pacientes.idade[codUltimo])
         escreva ("Sexo: ")
         leia (pacientes.sexo[codUltimo])
         escreva("Telefone: ")
         leia (pacientes.telefone[codUltimo])
         escreva("Endereço: ")
         leia (pacientes.endereco[codUltimo])
         escreva("Anotação: ")
         leia (pacientes.anotacao[codUltimo])
         escreva("Relatorio: ")
         leia (pacientes.relatorio[codUltimo])
         ALEATORIO OFF
         escrevaL("")
         escreva("           Tecle Enter para Voltar ao Menu")
         leia(continuar)
         LimpaTela()
      fimSe

      se opcao = "2" entao
         escrevaL("## SITUAÇÃO DE PACIENTES ##")
         escrevaL("Preencha os campos requisitados")
         escrevaL("")
         escreva ("Código do paciente: ")
         leia(codPesquisa)
         se ((codPesquisa >= 1) E (codPesquisa <= codUltimo)) entao
            escrevaL("Situacao: ", pacientes[codPesquisa].relatorio)
         senao
            escrevaL("Código inválido")
         fimSe

         escrevaL("")
         escreva("           Tecle Enter para Voltar ao Menu")
         leia(continuar)

      fimSe

      se opcao = "3" entao
         //Em construção
      fimSe

      se opcao = "4" entao
         //Em construção
      fimSe

      se opcao = "5" entao
         escreval("    Saindo Do Programa . . . !")

         escreva("           Tecle Enter para Voltar ao Menu")
         leia(continuar)
      fimSe
   ate opcao = "5"
fimAlgoritmo


Resumo de sugestões:
- ajustar os itens 1 e 2, supracitados;

- posta o enunciado completo;

- ajustar o teu código baseando no código acima.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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