Ir ao conteúdo
  • Cadastre-se

VisualG Função não sendo reconhecida


Posts recomendados

Algoritmo "semnome"

Var
   gabarito: vetor [1..10] de caractere
   menuOpcao, notaFinal: inteiro

procedimento menuOpcao()
inicio
   escreval ("1- Cadastrar gabarito")
   escreval ("2- Cadastrar prova")
   escreval ("3- Sair")
   leia (menuOpcao)
fimprocedimento

procedimento cadastrarGabarito(): caractere
var
   i: inteiro
inicio
   para i de 1 ate 10 faca
      escreval ("Digite o gabarito da questão", i)
      leia (gabarito[i])
   fimpara
fimprocedimento

funcao cadastrarProva(): caractere
var
   i, nota: inteiro
   resposta: caractere
inicio
   nota <- 0
   para i de 1 ate 10 faca
      escreval ("Digite a resposta da questão", i)
      leia (resposta)
      se resposta = gabarito[i] entao
         nota <- nota + 1
      fimse
      retorne nota
   fimpara
fimfuncao

funcao verificarSituacao(): caractere
inicio
   se nota >= 7 entao
      retorne ("Aprovado")
   senao
      retorne ("Reprovado")
fimfuncao

Inicio
   repita
      menuOpcao
      escolha menuOpcao
      caso 1
         cadastrarGabarito()
      caso 2
         notaFinal <- cadastrarProva
         escreval (verificarSituacao(notaFinal))
      outrocaso
         escreval ("Opção inválida")

      ate menuOpcao = 3
Fimalgoritmo

Alguém pode me ajudar? Qualquer opção que eu clico o caso 1 é executado.

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

2 horas atrás, CaioSan disse:

Alguém pode me ajudar? Qualquer opção que eu clico o caso 1 é executado.

Você declarou a função menuOpcao com o mesmo nome da variável menuOpcao.

O visualG e meio burrinho, mas ele era pra dar erro antes mesmo de executar.

 

Tente não usar muitas variáveis globais, você poderia ter usado uma função para simplificar.

Algoritmo "semnome"

Var
   gabarito: vetor [1..10] de caractere
   menuOpcao, notaFinal: inteiro
   enter:caractere
   
funcao menuPrincipal:inteiro
var
   opcao:inteiro
inicio
   repita
      escreval("1- Cadastrar gabarito")
      escreval("2- Cadastrar prova")
      escreval("3- Sair")
      leia(opcao)
      se (opcao < 1) ou (opcao > 3) entao
         escreval("Opção invalida!")
         escreval("Pressione enter para continuar")
         leia(enter)
      fimSe
   ate não((opcao < 1) e (opcao > 3))
   retorne(opcao)
fimFuncao

procedimento cadastrarGabarito(): caractere
var
   i: inteiro

inicio
   para i de 1 ate 10 faca
      escreval ("Digite o gabarito da questão", i)
      leia (gabarito[i])
   fimpara
fimprocedimento

funcao cadastrarProva(): caractere
var
   i, nota: inteiro
   resposta: caractere
inicio
   nota <- 0
   para i de 1 ate 10 faca
      escreval ("Digite a resposta da questão", i)
      leia (resposta)
      se resposta = gabarito[i] entao
         nota <- nota + 1
      fimse
      retorne nota
   fimpara
fimfuncao

funcao verificarSituacao(): caractere
inicio
   se nota >= 7 entao
      retorne ("Aprovado")
   senao
      retorne ("Reprovado")
fimfuncao

Inicio
   repita
      menuOpcao <- menuPrincipal
      escolha menuPrincipal
      caso 1
         cadastrarGabarito()
      caso 2
         notaFinal <- cadastrarProva
         escreval (verificarSituacao(notaFinal))
      outrocaso
         escreval ("Opção inválida")

   ate menuOpcao = 3

Fimalgoritmo

 

  • Curtir 2
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...