#include <stdio.h>
#include <stdlib.h>
#include <locale.h> // carregando biblioteca para acentuação
// definindo o numero de linhas do vetor
#define numeros_linhas_vetor 150
// definindo o numero de colunas do vetor
#define numeros_colunas_vetor 2
// abaixo a funcao que criei para mostrar a soma de quem gostou e quem nao gostou do produto
int somarNumerosPessoasPorTipo(int v[numeros_linhas_vetor][numeros_colunas_vetor], int x) {
int
// para pecorrer o looping for
i
// para somar o publico da satisfação em específico
, soma = 0
;
for (i = 0; i < numeros_linhas_vetor; i++) {
soma += (v[1] == x) ? 1 : 0;
}
return soma;
}
float percentagemSatisfacao(int v[numeros_linhas_vetor][numeros_colunas_vetor], int tipo, int sexo) {
int
// para pecorrer o looping for
i
// para somar a quantidade de sexo
, qtdade = 0
// para somar a quantidade do publico do tipo de satisfacao
, total = 0
;
float r = 0;
// usamos looping for por ser mais pratico para chegar ate a ultima linha do vetor
for (i = 0; i < numeros_linhas_vetor; i++) {
// aqui temos uma condicional (v[1] == tipo) para verificar se a coluna 1 é igual a variavel tipo
if ( (v[1] == tipo) && (tipo == sexo) ) {
// incremento 1 para totalizar a pesquisa, independente do sexo
total++;
// se na posicao v[0] é do sexo da variavel sexo, entao preparo para incrementar
if (v[0] == tipo) {
// incrementamos + 1 para quantidade do sexo especificado
qtdade++;
}
}
}
// a primeira coisa que devemos fazer é multiplicar o numero do sexo por 100 e depois dividir com o total
// o algoritmo busca primeiro operar o que está entre paranteses
r = ((qtdade * 100) / total);
// retornando o resultado
return r;
}
int main()
{
int
// vetor para pesquisa de x e y de tamanhos
pesquisa[numeros_linhas_vetor][numeros_colunas_vetor]
// para gravar o sexo
, digito_sexo
// para gravar a satisfacao do produto
, digito_pesquisa
// para looping while()
, indice = 0
;
// configurando regionalizacao do sistema para lingua portuguesa para uso de caracteres especiais, tais como: palavras acentuadas, "ç"
setlocale(LC_ALL, "Portuguese");
// utilizamos looping do tipo while para guardar as informações de n pesquisa, conforme a variavel numeros_linhas_vetor declara
while ( indice < numeros_linhas_vetor) {
// informamos ao usuario o sexo, em que: 1 para feminino e 2 para masculino
printf("\nPesquisa %d - Por favor informe '1' para feminino ou '2' para masculino: ", (indice + 1));
// o usuario informa o sexo
scanf_s("%d", &digito_sexo);
//limpando buffer do teclado
fflush(stdin);
// precisamos saber se o usuario informou numero se esta entre 1 e 2
if ( ( digito_sexo == 1) || ( digito_sexo == 2) ) {
// gravando o sexo do usuario no indice 0 (primeiro indice do vetor)
pesquisa[indice][0] = digito_sexo;
// gravando a satisfacao para 0 no indice 1. Com isso posso utilizar para loop do-while ate que a satisfacao seja 1 ou 2
pesquisa[indice][1] = 0;
do {
// imprimindo a tela a satisfacao do produto, em que: 1 para sim e 2 para não
printf("\nGostou do produto? Informe '1' para sim ou '2' para não: ");
// o usuario informa a satisfacao do produto
scanf_s("%d", &digito_pesquisa);
//limpando buffer do teclado
fflush(stdin);
// certificaremos se o usuario informou a satisfacao corretamente
if ((digito_pesquisa == 1) || ( digito_pesquisa == 2)) {
pesquisa[indice][1] = digito_pesquisa;
indice++;
}
else {
printf("\nOpção inválida.\n");
system("pause");
}
} while (pesquisa[indice][1] == 0);
}
else {
// se o usuario informou menor que 1 ou maior que 2, deveriamos informar o erro e repetir a pergunta
printf("\nSexo informado é inválido.\n");
system("pause");
}
}
// aqui imprimimos na tela com retorno da funcao somarNumerosPessoasPorTipo (vetor, tipo)
// a funcao retorna a soma de pessoas que gostaram ou nao do produto
// como mostra o segundo parametro (1 ou 2)
// o primeiro imprime a soma de quem gostou do produto
printf("\nDos %d, %d pessoas responderam 'sim'.", numeros_linhas_vetor, somarNumerosPessoasPorTipo(pesquisa, 1));
// o segundo imprime a soma de quem nao gostou do produto
printf("\nDos %d, %d pessoas responderam 'não'.\n", numeros_linhas_vetor, somarNumerosPessoasPorTipo(pesquisa, 2));
// imprimindo a percentagem de pessoas do sexo feminino que respoderam sim, com a funcao percentageSatisfacao()
printf("\nA percentagem de pessoas do sexo feminino que responderam sim: %0.2f%%", percentagemSatisfacao(pesquisa, 1 , 1));
// impriminido a percentagem de pessoas do sexo masculino que respoderam nao
printf("\nA percentagem de pessoas do sexo masculino que responderam não: %0.2f%%\n", percentagemSatisfacao(pesquisa, 2, 2));
// pausando o sistema ate qualquer caracateres para continuar
system("pause");
return 0;
}