Ir ao conteúdo
  • Cadastre-se

C Dificuldade com 1 exercício de C


Posts recomendados

Olá, sou novo aqui no forum então me desculpe se o topico estiver no lugar errado ou algo do tipo.

 

Bom, as atividades da minha faculdade pararam por causa da quarentena e como eu quero aprender mais sobre C eu pesquisei alguns exercícios na internet e teve 1 exercício que eu não estou conseguindo prosseguir. Em um breve resumo o exercício pede para que o usuário inserir a idade e o sexo de 50 pessoas e pede para mostrar o total de homens e total de mulheres, a mulher mais nova e a mais velha, o homem mais novo e o mais velho. E eu não estou conseguindo pensar em uma forma do programa me apresentar o total de cada um e a idade mais nova e mais velha de cada um dos sexos.

Programa que estou usando é o DEV C++
Segue abaixo meu código. (Ele não está completo pois eu queria saber se o codigo iria me apresentar a idade da mulher mais velha).
Outra obs. O for ta com o número 4 pois não sou besta de ficar escrevendo 50 vezes hahaha.

#include <stdio.h>
#include <locale.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    setlocale(LC_ALL, "Portuguese");
    int id[4],i,j,idMnova, idMvelha, idHnovo, idHvelho;
    char sexo[4];
    printf("Idade do mais velho e do mais novo\n");
    for(i = 1; i<=4; i++)
    {
        printf("Digite a idade da %iª pessoa: ",i);
        scanf("%d",&id);
        printf("Digite o sexo da %iª pessoa [F/M]: ",i);
        scanf("%*c %c",&sexo);
    }
    if(sexo=='f' || sexo=='F')
    {
        if(id>idMvelha)
        {
         idMvelha+=id;                    
        }
    }
    printf("A mulher mais velha tem: %d de idade",idMvelha);
} 

Se alguem conseguir me dar uma luz de como fazer esse código funcionar eu ficaria muito grato e estaria contribuindo com meu aprendizado, lembrando que não quero que me deem o codigo pronto pois sei que todos aqui são contra o desaprendizado. Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

@TORYM  Certo, seguindo o que você disse seria algo do tipo?

[...]
	for(i = 1; i<=4; i++)
	{
		printf("Digite a idade da %iª pessoa: ",i);
		scanf("%d",&id);
		printf("Digite o sexo da %iª pessoa [F/M]: ",i);
		scanf("%*c %c",&sexo);
		idade[i]=id;
	}
	for(i=1;i<=4;i++)
	{
		if(sexo[i]=='F' || sexo[i]=='f')
		{
			if(id>idade[i])
			idade[i]=id;
		}
	}
[...]

 

Link para o comentário
Compartilhar em outros sites

Consegui fazer o programa me apresentar o total de homens e total de mulheres, mas não estou conseguindo pensar em um jeito dele me apresentar o homem mais velho e mais novo e a mulher mais velha e mais nova
Segue abaixo como está meu código até o momento com algumas alterações que eu fiz seguindo o que o amigo acima disse.

#include <stdio.h>
#include <locale.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
 setlocale(LC_ALL, "Portuguese");
	int id,i,j,M=0,F=0,idFnova=0, idFvelha=0, idMnovo=0, idMvelho=0;
	char sexo;
	printf("Idade do mais velho e do mais novo\n");
	for(i = 1; i<=4; i++)
	{
		printf("Digite a idade da %iª pessoa: ",i);
		scanf("%d",&id);
		printf("Digite o sexo da %iª pessoa [F/M]: ",i);
		scanf("%*c %c",&sexo);
		if(sexo=='M' || sexo=='m')
	 {
	 	idMnovo=id;
		 idMvelho=id;
		 M++;
	 }
	 else
	 {
	 	idFvelha=id;
		 idFnova=id;
	 	F++;
	 }
	}
	printf("\nTotal homens:% d\nTotal de mulheres: %d\n",M,F);
	for(i=id;i<=4;i++)
	{
		if(sexo=='F' || sexo=='f')
		{
			if(id<idFnova)
			idFnova=id;
			if(id>idFvelha)
			idFvelha=id;
		}
		else
		{
			if(id<idMnovo)
			idMnovo=id;
			if(id>idMvelho)
			idMvelho=id;
		}
	}
	printf("\nMulher mais nova: %d\nMulher mais velha: %d\n",idFnova,idFvelha);
	printf("\nHomem mais novo: %d\nHomem mais velho: %d",idMnovo,idMvelho);
}

O Programa agora só está me apresentando os ultimos valores adicionados para cada sexo como mostra a imagem abaixo:

 

Sem título.png

Link para o comentário
Compartilhar em outros sites

19 minutos atrás, Rhendson Rérisson disse:

Então não preciso criar duas variáveis para apresentar a idade nova e a idade velha do sexo masculino e outras duas para o sexo feminino

 

1 hora atrás, arfneto disse:

Apenas crie uma variável para cada valor que precisa controlar

 

Pois é

 

4 valores quatro variáveis

Mas isso é importante? Declare as variáveis faça as contas e se concluir que não precisa de todas apague as inúteis

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...