segunda-feira, 5 de novembro de 2012

Imagine que o TSE contratou sua empresa para desenvolver o sistema das urnas eletrônicas que serão utilizadas nas próximas eleições do país.

Imagine que o TSE contratou sua empresa para desenvolver o sistema das urnas eletrônicas que serão utilizadas nas próximas eleições do país. O sistema deverá realizar as seguintes ações:

I. O sistema deverá conter pelo menos três candidatos validos para prefeito e mais três para vereadores (que não precisam ser exibidos ao eleitor no ato da votação).

II. O sistema deverá solicitar ao eleitor que vote primeiro para prefeito, informando o número do candidato.

III. A partir do número informado pelo eleitor, o sistema deverá informar o nome, número e partido do candidato e solicitar que o eleitor confirme ou corrija (‘C’-confirmar ou ‘D’ – corrigir).

IV. Após confirmar o voto o sistema deverá solicitar que o eleitor vote em vereador. Da mesma forma que para prefeito, o sistema irá exibir o número, nome, partido do candidato e as opções: confirmar ou corrigir.

V. Caso o eleitor deseje votar na opção nula deverá informar 000 com número do candidato tanto para prefeito como para vereador. Nesta situação o sistema irá exibir uma tela solicitando que o usuário confirme ou corrija seu voto.

VI. O sistema deverá encerrar a votação caso o usuário digite um valor negativo para o número do prefeito.

Ao final da votação o sistema deverá exibir:

a) Número e o percentual de votos de todos os candidatos, tanto para prefeito, como para vereador.

b) O nome, número de votos do candidato vencedor (prefeito e vereador).

c) O percentual de votos nulos.

 

#include <stdio.h>
#include <conio.c>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <time.h>

using namespace std;

void titsup(){ // função que apresenta titulo na tela
gotoxy(15,2);cout << "ELEICOES MUNICIPAIS: PREFEITO E VEREADORES" << endl;
};

main()
{ // variaveis
int eleicoes,prefeitos,vereadores,contaGeral=0,contaGVereador=0;
int prefAdao=0,prefEddie=0,prefValeria=0,votoNuloPref=0;
int vereadorMCarmo=0,vereadorFRodrigues=0,vereadorJRossie=0,votoNuloVereador=0;
float perPrefAdao,perPrefEddie,perPrefValeria,perVotoNuloPref;
float perVerMCarmo,perVerFRodrigues, perVerJRossie,perNuloVereador;

do{ //inicio do laço
clrscr(); //limpa a tela
titsup(); // executa a função
// primeiro menu de opções
gotoxy(15, 9);cout << "1 - VOTAR PARA PREFEITO! ";
gotoxy(15,10);cout << "2 - VOTAR PARA VEREADOR! ";
gotoxy(15,11);cout << "0 - SAIR! ";

gotoxy(15,14);cout << "Digite aqui sua opcao: "; cin >> eleicoes;
//criação do menu dos PREFEITURÁVEIS
switch(eleicoes){
case 0:break; // sair do sistema
case 1: // para votar para prefeitos
{
clrscr();
titsup();
// MENU DE OPÇÕES
gotoxy(20,7);cout << "CANDIDATOS A PREFEITO" << endl;
gotoxy(15, 9);cout << "101 - ADAO BRAGA ";
gotoxy(15,10);cout << "201 - EDDIE SANTANA";
gotoxy(15,11);cout << "301 - VALERIA DOURADO";
gotoxy(15,12);cout << "000 - Anula voto";
gotoxy(15,16);cout << "Digite aqui sua opcao: ";cin >> prefeitos;
//processamento das opções para prefeitos
switch(prefeitos){
case 101:prefAdao++;contaGeral++;break;
case 201:prefEddie++;contaGeral++;break;
case 301:prefValeria++;contaGeral++;break;
case 000:votoNuloPref++;contaGeral++;break;
default:gotoxy(15,20);cout << "OPCAO INVALIDA! ... APERTE UMA TECLA!";getch();
}
};break;
case 2: // para votar para vereadores
{
clrscr();
titsup();
// MENU DE OPÇÕES DE VEREADORES
gotoxy(20, 7);cout << "CANDIDATOS A VEREADOR" << endl;
gotoxy(15, 9);cout << "102 - MARIA DO CARMO! ";
gotoxy(15,10);cout << "202 - FIRMINO RODRIGUES";
gotoxy(15,11);cout << "302 - JULIE ROSSIE";
gotoxy(15,12);cout << "000 - Anula voto";
gotoxy(15,16);cout << "Digite aqui sua opcao: "; cin >> vereadores;
//processamento das opções para vereadores
switch(vereadores){
case 102:vereadorMCarmo++;contaGVereador++;break;
case 202:vereadorFRodrigues++;contaGVereador++;break;
case 302:vereadorJRossie++;contaGVereador++;break;
case 000:votoNuloVereador++;contaGVereador++;break;
default:gotoxy(15,20);cout << "OPCAO INVALIDA! ... APERTE UMA TECLA!";getch();
}
};break;
//Resposta Padrão Menu ELEIÇÕES
default:gotoxy(15,20);cout << "OPCAO INVALIDA! ... APERTE UMA TECLA!";getch();
}
}while(eleicoes != 0); // fim do Laço Do... while

clrscr();
titsup();

// processando percentuais PREFEITO
perPrefAdao = (prefAdao*100)/contaGeral;
perPrefEddie = (prefEddie*100)/contaGeral;
perPrefValeria = (prefValeria*100)/contaGeral;
perVotoNuloPref = (votoNuloPref*100)/contaGeral;

//Processando Percentuais VEREADORES.

perVerMCarmo = (vereadorMCarmo*100)/contaGVereador;
perVerFRodrigues = (vereadorFRodrigues*100)/contaGVereador;
perVerJRossie = (vereadorJRossie*100)/contaGVereador;
perNuloVereador = (votoNuloVereador*100)/contaGVereador;

// resultados apresentados em TELA PREFEITOS.
gotoxy(10,9); cout << "RESULTADOS DAS ELEICOES PARA PREFEITOS";
gotoxy(10,11); cout << "Total de Votos .............: " << contaGeral << endl;
gotoxy(10,12); cout << "Prefeito Adao Braga ........: " << prefAdao << " Votos. Sao " << perPrefAdao << " % " << endl;
gotoxy(10,13); cout << "Prefeito Eddie Santana......: " << prefEddie << " Votos. Sao " << perPrefEddie << " % " << endl;
gotoxy(10,14); cout << "Prefeita Valeria Dourado....: " << prefValeria << " Votos. Sao " << perPrefValeria << " % " << endl;
gotoxy(10,15); cout << "Votos Nulos para Prefeito...: " << votoNuloPref << " Votos. Sao " << perVotoNuloPref << " % " << endl;

// resultados apresentados em TELA VEREADORES.
gotoxy(10,18); cout << "RESULTADOS DAS ELEICOES PARA VEREADORES";
gotoxy(10,19); cout << "Total de Votos Vereadores........: " << contaGVereador << endl;
gotoxy(10,20); cout << "Vereadora Maria do Carmo ........: " << vereadorMCarmo << " Votos. Sao " << perVerMCarmo << "%" << endl;
gotoxy(10,21); cout << "Vereador Firmino Rodrigues ......: " << vereadorFRodrigues << " Votos. Sao " << perVerFRodrigues << "%" << endl;
gotoxy(10,22); cout << "Vereadora Julie Rossie ..........: " << vereadorJRossie << " Votos. Sao " << perVerJRossie << "%" << endl;
gotoxy(10,23); cout << "Votos Nulos para Vereador .......: " << votoNuloVereador << " Votos. Sao " << perNuloVereador << "%" << endl;
getch();
}

Nenhum comentário:

Postar um comentário