Ir ao conteúdo
  • 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

Recommended Posts

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.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
devair1010    442

@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.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
olliver.soul    170

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.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
passarin_jr    1
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
  • Curtir 1

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






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×