Visando automatizar as eleições, uma cidade decidiu implementar um programa para a análise e contagem dos votos. Esse programa deve ser capaz de receber 1000 votos (total esperado), que por sua vez obedecem a seguinte regra:
- Voto para o candidato 1;
- Voto para o candidato 2;
- Voto para o candidato 3;
- Voto para o candidato 4;
- Voto nulo;
- Voto em branco.
Elabore um algoritmo em C que calcule e escreva:
- O total de votos para cada candidato e seu percentual sobre o total;
- O total de votos nulos e o seu percentual sobre o total;
- O total de votos em branco e o seu percentual sobre o total.
Passo 1
Nós devemos começar o desenvolvimento desse programa através da definição de seu escopo.
Passo 2
Com o escopo do programa definido, podemos iniciar a declaração de variáveis que serão úteis.
Informações sobre as variáveis:
- a, b, c, d, nulo e branco são variáveis responsáveis por armazenar suas respectivas quantidades específicas de votos;
- confirma é uma variável responsável por armazenar o voto que está sendo processado pelo programa em determinado momento de execução;
- votos é uma variável responsável por armazenar a quantidade total de votos.
Passo 3
Como devemos computar mil votos, podemos uma utilizar uma estrutura de capaz de repetir o processamento de um voto mil vezes. Para esse programa, utilizaremos a estrutura do while.
A lógica desse bloco de instruções consiste em ler o voto de um cidadão (consequentemente usuário do programa) e utilizar a estrutura condicional switch case para incrementar a respectiva opção de voto escolhida por ele.
Além disso, independente do voto escolhido, a variável votos é incrementada em uma unidade. Controlando assim, a estrutura de repetição a atuar apenas para computar os mil votos, uma vez que a condição do laço de repetição é votos menor que 1000.
Passo 4
Ao término da estrutura de repetição nós já temos todas as informações necessária para a impressão dos cálculos computados na tela.
Total de votos para cada candidato e seu percentual sobre o total pode ser obtido através do seguinte trecho de código:
Que imprime todas as médias e seus respectivos percentuais através da divisão da quantidade de votos específicos de cada opção pelo total de votos.
Observe que uma conversão de tipo de int para float foi necessária em todas essas divisões, pois sem ela o programa retornaria a divisão inteira dos valores, que por se tratar de porcentagens seriam apenas 0 (desconsiderando a parte real).
Passo 5
O total de votos nulos e o seu percentual sobre o total pode ser obtido através do seguinte trecho de código:
Consiste em dividir a variável nulo da mesma forma como foi feita a divisão das variáveis de quantidade específica de votos.
Passo 6
Por fim, o total de votos em branco e o seu percentual sobre o total pode ser obtido através do seguinte trecho de código:
E da mesma forma que fizemos nos passos anteriores, devemos dividir o valor presente no conteúdo da variável branco pelo conteúdo da variável total. A explicação disso é idem aos passos anteriores.
Resposta
Ei, a resposta está no passo a passo :)