Skip to content

Instantly share code, notes, and snippets.

@eduardojunio
Created September 4, 2016 13:16
Show Gist options
  • Save eduardojunio/ba3339456962958e8424d28afe0ed04e to your computer and use it in GitHub Desktop.
Save eduardojunio/ba3339456962958e8424d28afe0ed04e to your computer and use it in GitHub Desktop.
73 - Características Físicas The Huxley
#include <stdio.h>
#define MAX_PESSOAS 100
typedef struct {
int idade;
char sexo;
char corDosOlhos;
char cabelos;
} pessoa;
void cadastrarPessoas(pessoa pessoas[]);
void maisVelha(pessoa pessoas[], int maxPessoas);
void mulheresOlhVLoirJovens(pessoa pessoas[], int maxPessoas);
int main()
{
pessoa pessoas[MAX_PESSOAS] = {0};
cadastrarPessoas(pessoas);
maisVelha(pessoas, MAX_PESSOAS);
mulheresOlhVLoirJovens(pessoas, MAX_PESSOAS);
return 0;
}
void cadastrarPessoas(pessoa pessoas[]) {
int i = 0, temp;
while (1) {
scanf("%d", &temp);
getchar();
if (temp == -1)
break;
pessoas[i].idade = temp;
scanf("%c ", &pessoas[i].sexo);
scanf("%c ", &pessoas[i].cabelos);
scanf("%c", &pessoas[i].corDosOlhos);
getchar();
i++;
}
}
void maisVelha(pessoa pessoas[], int maxPessoas) {
int i, maiorIdade = 0;
for (i = 0; i < maxPessoas; i++)
if (pessoas[i].idade > maiorIdade)
maiorIdade = pessoas[i].idade;
printf("Mais velho: %d\n", maiorIdade);
}
void mulheresOlhVLoirJovens(pessoa pessoas[], int maxPessoas) {
int i, j = 0, k = 0;
for (i = 0; i < maxPessoas; i++) {
if ((pessoas[i].idade >= 18 && pessoas[i].idade <= 35)
&& pessoas[i].sexo == 'f' && pessoas[i].corDosOlhos == 'v'
&& pessoas[i].cabelos == 'l')
j++;
if (pessoas[i].idade > 0)
k++;
}
float percentage = (float)j / k;
printf("Mulheres com olhos verdes, loiras com 18 a 35 anos: %.2f%%\n", percentage * 100);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment