Bom dia, eu digitei esse código na intenção de cadastrar idad...

Bom dia, eu digitei esse código na intenção de cadastrar idade das pessoas infinitas e no final apresentar uma tabela mostrando quem é obrigatório facultativo e que não pode votar. veja:
algoritmo "semnome"
//
//
// disciplina : pic
// professor : fábio fernande
// descrição : cadantramento facultativo de pessoas.
// autor(a) : stephany de souza duarte
// data atual : 03/11/2019
var
// seção de declarações das variáveis
id, ob, fa, np, soma, re: inteiro

resp: caractere
inicio
// seção de comandos, procedimento, funções, operadores,
escreval("")
escreval(" seja bem vindo")
escreval("")
escreval("")
escreval("vamos começar? ")
escreval("")

repita
repita
escreval("qual é a idade do cidadão a ser cadastrado? ")
leia(re)
ate(re> ="0")e(re< ="200")entao
se (re> =0)e (re< =200)entao
soma< -soma+1
se (re> =18) e (re< =69) entao
ob< -ob+1
senao
se (re=16) ou (re=17) ou (re> =70) entao
fa< -fa+1
senao
se (re> =0)e(re< =15) entao
np< -np+1
senao
escreval ("por favor digite apenas uma idade")
fimse
fimse
fimse
fimse
repita
escreval ("por favor digite apenas [s] ou [n]")
escreval("deseja continuar? ")
leia(resp)
ate(resp="n")ou(resp="n")ou(resp="s ")ou(resp="s")
ate (resp="n")ou(resp="n")
limpatela
escreval("relatório")
escreval(" foram cadastrado's um total de ",soma," eleitores! ")
escreval("")
escreval(" sendo: ")
escreval("")
escreval("obrigatório : ",ob," pessoa's.")
escreval("facultativo : ",fa," pessoa's.")
escreval("não àpito : ",np," pessoa's.")
escreval("")
escreval("fim do relatório")
fimalgoritmo

consegui fazer com o que quando a pessoa digita qual quer outra coisa além se s ou n no deseja continuar. o questionário não procede, e consegui fazer tem que na primeira pergunta quando coloca um valor negativo ele não soma da tabela e volta a deseja continuar.
porem quando e feito essa pergunta
escreval("qual é a idade do cidadão a ser cadastrado? ")
ele aceita como resposta s, d,e, r,f, t,g, e3,4r, fr, de3,etc.
ele aceita qualquer outra coisa além de números acima de 200 e menores de 0 ele ainda aceita letras palavra e letras com numero, e não quero que isso aconteça o que eu devo fazer?

1 Resposta

Ver resposta

Algoritmo "semnome"

//

//

// Disciplina : PIC

// Professor : Fábio Fernande

// Descrição : Cadantramento facultativo de pessoas.

// Autor(a) : Stephany de Souza Duarte

// Data atual : 03/11/2019

Var

  // Seção de Declarações das variáveis

  verificador,obrigatorio,facultativo,naoApto,soma,idadePessoa: inteiro

  RESP:caractere

Inicio

  // Seção de Comandos, procedimento, funções, operadores, etc...

  escreval("")

  escreval(" seja bem vindo")

  escreval("")

  escreval("")

  escreval("Vamos começar?")

  escreval("")

  Repita

     idadePessoa<-0

     verificador<-0

     enquanto (idadePessoa <= 0) ou (idadePessoa >= 200) faca

        se (verificador = 0) entao

           escreval("Qual é a idade do cidadão a ser cadastrado?")

           leia(idadePessoa)

           verificador<-verificador+1

        senao

             escreval("Tente outro valor:")

             leia(idadePessoa)

        fimse

     fimenquanto

     se (idadePessoa>=0)e (idadePessoa<=200)entao

        soma<-soma+1

        se (idadePessoa>=18) e (idadePessoa<=69) entao

           obrigatorio<-obrigatorio+1

        senao

           se (idadePessoa=16) ou (idadePessoa=17) ou (idadePessoa>=70) entao

              facultativo<-facultativo+1

           senao

              se (idadePessoa>=0)e(idadePessoa<=15) entao

                 naoApto<-naoApto+1

              senao

                 Escreval ("Por Favor digite apenas uma idade")

              fimse

           fimse

        fimse

     fimse

     repita

        Escreval ("Por Favor digite apenas [S] ou [N]")

        escreval("Deseja continuar?")

        leia(RESP)

     ate(RESP="N")ou(RESP="n")ou(RESP="S")ou(RESP="s")

  ate (RESP="N")ou(RESP="n")

  limpatela

  escreval("Relatório")

  Escreval(" Foram cadastrado's um total de ",soma," Eleitores!")

  escreval("")

  escreval(" Sendo: ")

  escreval("")

  escreval("Obrigatório :",obrigatorio," pessoa(s).")

  escreval("Facultativo :",facultativo," pessoa(s).")

  escreval("Não Ápto :",naoApto," pessoa(s).")

  escreval("")

  escreval("Fim do Relatório")

Fimalgoritmo

Olha se dá certo, eu testei aqui dps de adicionar um enquanto pra veririfcar idade e fiz um artifício só pra se a informação tiver errada não ficar repetindo a mesma pergunta, mas falar que tava inválido.

Sua resposta
Ok

Mais perguntas de Informática





















Toda Materia
Toda Materia
Toda Materia

Você tem alguma dúvida?

Faça sua pergunta e receba a resposta de outros estudantes.

Escola Educação