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, etc...
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?
Soluções para a tarefa
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.