• Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Luiz Felipe BP

Exercício de C usando for/while

4 posts neste tópico

E aí galera, beleza? Meu professor passou esses exercicios pra gente fazer, mas não passou as respostas e estou completamente perdido na matéria. Alguém poderia me dar uma luz nesta questão?  Sabendo a resposta dela eu consigo entender a lógica desse negócio de for/while, porque até agora ele não passou nenhum exemplo q eu pudesse entender. Agradeço desde já, e aqui está o enunciado do exercício:

 

  • Programa que peça para n pessoas a sua idade. Ao final o programa devera verificar se a média de idade da turma varia entre 0 e 25, 26 e 60 e maior que 60. A partir dessas categorias, imprimir na tela se a turma é jovem, adulta ou idosa, conforme a média calculada.

 

Nem precisa explicar, se quiser passar apenas a resposta eu já fico extremamente grato, mas gostaria de saber também o porque cada coisa acontece, mt obrigado.

1 pessoa curtiu isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Luiz Felipe BP     não tem como te dar as respostas por que elas depende dos valores digitados, então vai somando as idades e as pessoas, e no final divide a soma das idades pela quantidade de pessoas, aí verificar qual faixa se encaixa .   um algoritmo seria assim :

um loop repete até o usuário digitar determinado valor
pegar o valor da idade da pessoa 
somar um ao contador de pessoas
somar a idade com o valor da idade digitado pelo usuário
perguntar ao usuário se quer continuar ou não
se digitar s repete o loop se digitar n não repete
dividir a soma das idades pelo contador de pessoas
ver se o resultado da divisão é de 0 até 25 ou de 26 até 60 ou > 60 
escrever o resultado na tela.

 

1 pessoa curtiu isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que você está com dificuldade na estrutura for/while, sugiro que você tente criar algo mais simples para depois resolver o exercício.

 

Por exemplo, tente fazer um loop só para pedir as idades. E depois vá alterando o seu código.

 

Se você não souber fazer isso, procure algum material na web para iniciantes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

#4   Postado (editado)

#include <iostream>
using namespace std;

int main(int argc, char** argv) {
	char prosseguir = 's';
	int idade, somaIdades = 0, quantidade = 0;
	float media;
	
	while (prosseguir != 'n') {			
		cout << "Qual a sua idade?" << endl;
		cin >> idade;
		
		quantidade++;				
		somaIdades = somaIdades + idade;	
				
		cout << "prosseguir = " << prosseguir << endl;
		cout << "Deseja prosseguir? <->Se sim digite: s <-> Se nao digite: n \n";				
		cin >> prosseguir;
	}
	
	
	media = somaIdades / quantidade;
	// cout << "Soma das idades = " << somaIdades << endl;
	// cout << "Quantidade de idades digitadas = " << quantidade << endl;
	// cout << media << endl;
	
	if ((media >= 0) and (media <= 25)){
			cout <<" Media entre 0 e 25 \n";
		}
	
	
	return 0;
}

isto pode ser resolvido de diversas maneiras. No código acima eu fiz da maneira mais simples possível. Vou tentar aqui explicar:

- A variável 'prosseguir' é que determina o fim ou não do laço. Neste caso se o usuário digitar qualquer letra ou caractere diferente de 'n' minúsculo o loop continuará. O ideal seria capturar a tecla pressionada(deixo isto pra você), mas a ideia é a mesma.

- A variável 'idade' dispensa comentários. 

- A variável 'quantidade'. vai contar a quantidade de  idades digitadas. O comando quantidade++ incrementa + 1 ao valor da 'quantidade'.

- 'somaIdades' é um acumulador do valores de idades digitadas.

 

As linhas comentadas abaixo do cálculo da média são apenas para "depuração".  :-)

 

Finalmente depois do loop é feita a primeira verificação. As outras eu deixo pra você. ;-)

Obs1.:Caso alguém tenha percebido algum erro no código ou queiram melhorar, fiquem à vontade.

Obs2.: Caso não tenha entendido, diga aí..

 

Editado por passarin_jr

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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