Como fazer um programa C++ que simule uma urna eletrônica.
A tela a ser apresentada deverá ser da seguinte forma:
As opções são:
1. Candidato Jair Rodrigues
2. Candidato Carlos Luz
3. Candidato Neves Rocha
4. Nulo
5. Branco
Entre com o seu voto:
O programa deverá ler os votos dos eleitores e, quando for entrado o número 6, apresentar as seguintes informações:
a) O número de votos de cada candidato;
b) A porcentagem de votos nulos;
c) A porcentagem de votos brancos;
d) O candidato vencedor.
Soluções para a tarefa
#include <iostream>
#include <stdlib.h>
using namespace std;
void nameList(){
cout << "1. Candidato Jair Rodrigues\n2. Candidato Carlos Luz\n3. Candidato Neves Rocha\n4. Nulo\n5. Branco" << endl;
}
int vote (){
int usr;
cout << "\nVOTO: "; cin >> usr;
return usr;
}
int sortWinner(int x, int b, int c){
int i, j,temp,pass=0;
int a[] = {x, b, c};
for(i = 0; i<3; i++) {
for(j = i+1; j<3; j++) {
if(a[j] < a[i]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
pass++;
}
return a[2];
}
int main() {
nameList();
int dec = vote();
int i = 0;
char ans = 's';
int v1, v2, v3, v4, v5;
v1 = v2 = v3 = v4 = v5 = 0;
do {
cout << "Votar Novamente?(s/n) "; cin >> ans; fflush(stdin);
cout << endl;
nameList();
dec = vote();
i++;
switch (dec){
case 1: v1++; break;
case 2: v2++; break;
case 3: v3++; break;
case 4: v4++; break;
case 5: v5++; break;
case 6:
cout << "Jair Rodrigues: " << v1 << endl;
cout << "Carlos Luz: " << v2 << endl;
cout << "Neves Rocha: " << v3 << endl;
cout << "Nulo: " << v4 << endl;
cout << "Branco: " << v5 << endl;
cout << "Ganhador: " << sortWinner(v1,v2,v3) << endl;
break;
default: cout << "Voto Invalido\n"; return main(); break;
}
} while (ans == 's');
return 0;
}