Alguém poderia me ajudar com essa questão por favor? Consegui construir bem as 3 primeiras, porém as duas últimas não consegui e estou tentando desde domingo tentando. Ela é Estrutura de Repetição Enquanto.
Faça um programa que leia a idade e o sexo de 5 pessoas, mostrando no final:
a) Quantos homens foram cadastrados
b) Quantas mulheres foram cadastradas
c) A média de idade do grupo
d) A média de idade dos homens
e) Quantas mulheres tem mais de 20 anos
Acho que para a D, tu pode usar a mesma ideia da solução da questão C.
T
Tham
Eu tentei fazer isso, mas da erro. Acho que devido a forma que eu construi, veja:
Var
sex: caractere
cont, id, quantidade, quant, quanti, s: inteiro
med: real
Inicio
cont <- 0
Enquanto cont <= 4 faca
Escreva ("Sexo [M/H]: ")
Leia (sex)
Escreva (“Idade: “)
Leia (id)
Escreval (”================”)
cont <- cont + 1
Se sex = “H” entao
quantidade <- quantidade + 1
senao
Se sex = “M” entao
quanti <- quanti + 1
FimSe
S <- S + id
Med <- S / 5
Escreval ("A quantidade de homens é ", quantidade)
Escreval ("A quantidade de mulheres é ", quanti )
Escreval ("A media do grupo é ", med)
Porém eu não sei o que fiz de errado
R
RoinujNosde1 like
Você tem variáveis com nomes parecidos, isso vai rodar normal, mas é mais difícil de entender o código.
Que tal “quantidadeMulheres” (ou só “mulheres”), “homens”?
Qual erro está dando?
T
Tham
Já arrumei, obrigada haha
Já tentei colocar H e M como variável, já usei Escolha Caso, Se entao, etc. Porém nada funcionou, as duas últimas questões sempre me retornam o valor zero ou coloca todos os valores como um (tipo, na questão D eu coloco homens e mulheres com idade acima de 20 e ao invés do código me retornar só mulheres ele me retorna homem e mulher e me diz que existem 5 mulheres com idade maior que 20. ). Espero que você tenha entendido minha explicação hahaha
E
Erierf1 like
ola eu acho que isso resolve o problema
public class Problema1 {
publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);intmulher=0;intmulherIdade=0;inthomem=0;intidadeHomem=0;floatsomaIdade=0;for(inti=0;i<5;i++){System.out.println("Informe a idade:");intidade=in.nextInt();somaIdade=somaIdade+idade;System.out.println("Informe o sexo [M or F): ");Stringsexo=in.next();if(sexo.equalsIgnoreCase("M")){homem+=1;idadeHomem+=idade;}elseif(sexo.equalsIgnoreCase("F")){mulher+=1;if(idade>20){mulherIdade+=1;}}}System.out.println("Homens cadastrados: "+homem);System.out.println("Mulheres cadastradas: "+mulher);System.out.println("Média de idade do grupo: "+(somaIdade/5));System.out.println("Média de idade dos homens: "+(idadeHomem/homem));System.out.println("Mulheres com mais de 20 anos: "+mulherIdade);in.close();}
}
R
RoinujNosde1 like
Acho que você pode criar mais uma variável para somar as idades de mulheres maiores que 20 anos.
R
RoinujNosde1 like
Ela não está usando Java.
T
Tham
Vou tentar
T
Tham
Eu tentei e não saiu do zero
R
RoinujNosde
Mostre o código atualizado
T
Tham
Var
sex: caractere
cont, id, quantH, quantM, s, SOm: inteiro
med: real
Inicio
cont <- 0
Enquanto cont <= 4 faca
Escreva ("Sexo [M/H]: ")
Leia (sex)
Escreva (“Idade: “)
Leia (id)
Escreval (”================”)
cont <- cont + 1
Se sex = “H” entao
quantH <- quantH + 1
senao
Se sex = “M” entao
quantM <- quantM + 1
FimSe
S <- S + id
Med <- S / 5
Se “M” > 20 entao
SOm <- SOm + 1
FimSe
FimEnquanto
Escreval ("A quantidade de homens é ", quantidade)
Escreval ("A quantidade de mulheres é ", quanti )
Escreval ("A media do grupo é “, med)
Escreval (SOm, " Mulheres tem mais de 20 anos.” )
R
RoinujNosde
Por que “M” > 20?
Dentro deste “se” você pode pôr outro “se” para verificar se a idade é maior que 20, aí sim acrescentar a variável de mulheres maiores que 20.
T
Tham
Por que eu queria que quando fosse digitado “M” o algoritmo analisasse se era maior que 20, é errado pensar assim?
T
Tham
Como eu faria isso? Assim :
Se sex = “M”
quantM <- quantM + 1
Se “M” > 20 entao
SOm <- SOm + 1
FimSe
R
RoinujNosde1 like
Quando está envolvido em “”, M é um tipo de texto. (Algumas linguagens podem considerar como número, mas não vem ao caso e não teria o valor da idade)
Use sua variável de idade.
Se id > 20 entao
T
Tham1 like
Nossa moço, obrigada mais uma vez. Graças a sua explicação consegui resolver as duas questões, o senhor é um gênio haha.