Home › Fóruns › Programação Básica › Modulo 3 – Ex 054
- Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 2 anos, 7 meses atrás por IcaroFilho.
-
AutorPosts
-
-
30 de março de 2022 às 17:49 #89766Diego RibeiroParticipante
Nao estou conseguindo achar o erro do exercício 054, quando executo aparece a seguinte mensagem:
ERRO: ^. Linha: 0, Coluna: 0
ERRO: /tmp/portugol/programas/Programa1648673173129.java:161: error: variable flag_1648673173146 is already defined in method executar(String[]). Linha: 0, Coluna: 0
ERRO: boolean flag_1648673173146 =true;while(flag_1648673173146). Linha: 0, Coluna: 0
ERRO: ^. Linha: 0, Coluna: 0
ERRO: 2 errors. Linha: 0, Coluna: 0——————————————————————————————————–
código :
programa {
inclua biblioteca Texto –> txt
inclua biblioteca Tipos –> tip
funcao inicio() {
escreva(“{ EXERCÍCIO 054 – Pessoas Validados } \n”)inteiro idade, cont = 0, velho = 0, novo = 0
cadeia nome = “”, maisVelho = “”, maisNovo = “”, teclado = “”
caracter respfaca {
escreva(“————————-\n”)
escreva(“Pessoa ” + (cont + 1))
escreva(“\n————————-\n”)//LOOPING DE VALIDAÇÃO DE NOME, O NOME DEVE TER PELO MENOS 3 LETRAS.
enquanto (verdadeiro) {
escreva(“NOME: “)
leia(teclado)se(txt.numero_caracteres(teclado) >= 3){
nome = teclado
pare
} senao {
escreva(“ERRO – O nome deve ter no minimo 3 letras.\n”)
}} //FIM DO LOOPING DE NOME
//LOOPING DE VALIDAÇÃO DE IDADE, A IDADE DEVE SER UM NUMERO INTEIRO ENTRE 1 E 110.
enquanto (verdadeiro) {
escreva(“IDADE: “)
leia(teclado)se(tip.cadeia_e_inteiro(teclado, 10)) {
idade = tip.cadeia_para_inteiro(teclado, 10)
se(idade >= 1 ou idade <= 110){
pare
} senao{
escreva(“ERRO – A idade deve ser de 1 a 110.”)
}} senao {
escreva(“ERRO – O numero digitado deve ser inteiro.”)
}}//FIM DO LOOPING DE IDADE
//VALIDANDO OPCAO DE CONTINUAR
enquanto (verdadeiro){
escreva(“Quer continuar? {S/N} “)
leia(teclado)se(tip.cadeia_e_caracter(teclado)) {
resp = tip.cadeia_para_caracter(teclado)
se(resp == ‘S’ ou resp == ‘s’ ou resp == ‘N’ ou resp == ‘n’){
pare
} senao {
escreva(“ERRO – A resposta deve ser somente S ou N.”)
}} senao {
escreva(“ERRO – A resposta deve conter apenas 1 letra,”)
}
}cont++
//INICIALIZANDO A VARIAVEL (CASO SEJA O PRIMEIRO NOME DIGITADO)
se (cont == 1) {
velho = idade
novo = idade
maisVelho = nome
maisNovo = nome
} senao {//AQUI O PROGRAMA ESTA COMPARANDO A IDADE DIGITADA COM AS IDADES QUE ELE JA TEM ARMAZENADO E SUBSTITUINDO SE CASO ATENDER A CONDIÇÃO
se (idade < novo) {
novo = idade
maisNovo = nome
}se (idade > velho) {
velho = idade
maisVelho = nome
}
}} enquanto (resp == ‘S’ ou resp == ‘s’)
escreva(“———————————-\n RESULTADO \n———————————-\n”)
escreva(“Você cadastrou ” +cont + ” pessoas.\n”)
escreva(“A pessoa mais nova é ” + maisNovo + ” com ” + novo + ” anos.\n”)
escreva(“A pessoa mais velha é ” + maisVelho + ” com ” + velho + ” anos.\n”)
}
} -
6 de abril de 2022 às 09:39 #90366IcaroFilhoModerador
Bom dia Diego,
Eu copiei o seu código e o único erro que me retornou foi de variável não inicializada.
Apenas inicializei as variáveis idade e resp.
Código esta funcionando corretamente.
Segue abaixo como ficou:programa { inclua biblioteca Texto --> txt inclua biblioteca Tipos --> tip funcao inicio() { escreva("{ EXERCÍCIO 054 - Pessoas Validados } \n") inteiro idade = 0, cont = 0, velho = 0, novo = 0 cadeia nome = "", maisVelho = "", maisNovo = "", teclado = "" caracter resp = ' ' faca { escreva("-------------------------\n") escreva("Pessoa " + (cont + 1)) escreva("\n-------------------------\n") //LOOPING DE VALIDAÇÃO DE NOME, O NOME DEVE TER PELO MENOS 3 LETRAS. enquanto (verdadeiro) { escreva("NOME: ") leia(teclado) se(txt.numero_caracteres(teclado) >= 3){ nome = teclado pare } senao { escreva("ERRO - O nome deve ter no minimo 3 letras.\n") } } //FIM DO LOOPING DE NOME //LOOPING DE VALIDAÇÃO DE IDADE, A IDADE DEVE SER UM NUMERO INTEIRO ENTRE 1 E 110. enquanto (verdadeiro) { escreva("IDADE: ") leia(teclado) se(tip.cadeia_e_inteiro(teclado, 10)) { idade = tip.cadeia_para_inteiro(teclado, 10) se(idade >= 1 ou idade <= 110){ pare } senao{ escreva("ERRO - A idade deve ser de 1 a 110.") } } senao { escreva("ERRO - O numero digitado deve ser inteiro.") } }//FIM DO LOOPING DE IDADE //VALIDANDO OPCAO DE CONTINUAR enquanto (verdadeiro){ escreva("Quer continuar? {S/N} ") leia(teclado) se(tip.cadeia_e_caracter(teclado)) { resp = tip.cadeia_para_caracter(teclado) se(resp == 'S' ou resp == 's' ou resp == 'N' ou resp == 'n'){ pare } senao { escreva("ERRO - A resposta deve ser somente S ou N.") } } senao { escreva("ERRO - A resposta deve conter apenas 1 letra,") } } cont++ //INICIALIZANDO A VARIAVEL (CASO SEJA O PRIMEIRO NOME DIGITADO) se (cont == 1) { velho = idade novo = idade maisVelho = nome maisNovo = nome } senao { //AQUI O PROGRAMA ESTA COMPARANDO A IDADE DIGITADA COM AS IDADES QUE ELE JA TEM ARMAZENADO E SUBSTITUINDO SE CASO ATENDER A CONDIÇÃO se (idade < novo) { novo = idade maisNovo = nome } se (idade > velho) { velho = idade maisVelho = nome } } } enquanto (resp == 'S' ou resp == 's') escreva("----------------------------------\n RESULTADO \n----------------------------------\n") escreva("Você cadastrou " +cont + " pessoas.\n") escreva("A pessoa mais nova é " + maisNovo + " com " + novo + " anos.\n") escreva("A pessoa mais velha é " + maisVelho + " com " + velho + " anos.\n") } }
-
6 de abril de 2022 às 11:32 #90385Diego RibeiroParticipante
Coloque este codigo no portugol e deu esse erro novamente:
ERRO: Erro na compilação!. Linha: 0, Coluna: 0
ERRO: /tmp/portugol/programas/Programa1649255436436.java:121: error: variable flag_1649255436449 is already defined in method executar(String[]). Linha: 0, Coluna: 0
ERRO: boolean flag_1649255436449 =true;while(flag_1649255436449). Linha: 0, Coluna: 0
ERRO: ^. Linha: 0, Coluna: 0
ERRO: /tmp/portugol/programas/Programa1649255436436.java:167: error: variable flag_1649255436449 is already defined in method executar(String[]). Linha: 0, Coluna: 0
ERRO: boolean flag_1649255436449 =true;while(flag_1649255436449). Linha: 0, Coluna: 0
ERRO: ^. Linha: 0, Coluna: 0
ERRO: 2 errors. Linha: 0, Coluna: 0-
6 de abril de 2022 às 18:16 #90432IcaroFilhoModerador
Boa noite Diego. Qual a versão do Portugol esta utilizando ? tenho instalado a versão 2.7.5
Se estiver utilizando a versão online, vai quebrar.
-
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.