








Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
relatorio final de programacao em c++
Tipologia: Provas
1 / 14
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Cadeira: PROGRAMAÇÃO I
RELATÓRIO DE PROGRAMA DE URNA ELECTRÓNICA
DISCENTE: helecardino Crispino Cabral
DOCENTE: Eng. Lourenço Roberto
Tete, Novembro de 2012
O presente trabalho tem como tema urna electrónica. A urna electrónica é um dispositivo que automatiza o voto, com intuito de reduzir as bichas nas urnas de votação e tornar confiável este processo, o código que abaixo apresenta-se detalha o código fonte de um programa feito em linguagem c++.
#include
Intcodigo=0,i=0,m=0,g=0,n=0,s=0,z=0,t1=0,p=0,o=0,k=0,mata[200]={0},ata[100]={0},kk= ,testvot1,i2=0,gg=0,mm=0,nn=0,ss=0,zz=0,tt=0,pp=0,oo=0,k2=0,i3=0,i4=0,o3=0,o4=0,o5=0,
FUNÇÃO MAIN (função principal)
i5=0,m3=0,m4=0,m5=0,g3=0,g4=0,g5=0,n3=0,n4=0,n5=0,s3=0,s4=0,s5=0,z3=0,z4=0,z5=0,t 3=0,t4=0,t5=0,p3=0,p4=0,p5=0,k3=0,k4=0,k5=0, ii=0,t;
int main() {system("mode con: cols=110 lines=50");
cout<<"\n...............BEM VINDO AS ELEICOES PRESIDENCIAIS 2012!...............\n\n";
getch();cod(codigo);return 0; } int cod (int codigo) {Sleep(1000);system ("cls"); int vot1=0;
cout<<"\ncaro eleitor digite o codigo que aparece no seu cartao de eleitor!...\n";cin>> codigo;if (codigo==500) {mostra();}else{mata[ii]=codigo;t=ii++; for(ii=0; ii<=t; ii++)
{if(codigo==mata[ii]) vot1++;}if(vot1==1) {kk++;ata[kk]=codigo;cadastro (codigo);}
else {cout<<"\ncaro eleitor, o seu voto ja foi depositado, ou falhou o codigo!...\n";cod(codigo);} return codigo;}} void cadastro(int codigo) {if (codigo>=1 && codigo<=10) {cout<<"\neleitor inscrito em inhambane.\n\n"; i++; }
else if (codigo>=11 && codigo<=20) {cout<<"\neleitor inscrito em maputo.\n\n";m++; }
else if (codigo>=21 && codigo<=30) {cout<<"\neleitor inscrito em gaza.\n\n"; g++;}
else if (codigo>=31 && codigo<=40) {cout<<"\neleitor inscrito em manica.\n\n"; n++;}
else if (codigo>=41 && codigo<=50) {cout<<"\neleitor inscrito em sofala.\n\n"; s++;}
else if (codigo>=51 && codigo<=60) {cout<<"\neleitor inscrito em zambezia.\n\n"; z++;}
else if (codigo>=61 && codigo<=70) {cout<<"\neleitor inscrito em tete.\n\n";t1++;}
else if (codigo>=71 && codigo<=80) {cout<<"\neleitor inscrito em nampula.\n\n"; p++;}else if (codigo>=81 && codigo<=90)
{cout<<"\neleitor inscrito em cabo delgado.\n\n"; o++;}else if (codigo>=91 && codigo<=100){cout<<"\neleitor inscrito em niassa.\n\n"; k++;}
else{cout<<"\ncaro eleitor o seu codigo nao esta inscrito em nenhuma provincia, por favor tente de novo;\n\n"; cod(codigo);} menu(codigo); return; } void menu (int codigo){ cout<<"\ncaro eleitor na tabela abaixo apresentamos os candidatos e os codigos correspondentes:\n\n";
{z5++;} else if (codigo>=61 && codigo<=70) {t5++;} else if (codigo>=71 && codigo<=80)
{p5++;} else if (codigo>=81 && codigo<=90) {o5++;} else if (codigo>=91 && codigo<=100)
{k5++;} cout<<"\nvoto em branco.\n";break; default:
cout<<"\nestimado eleitor a letra que escolheu nao faz parte do nosso menu, tente de novo.\n";}
cod(codigo); return; } void mostra ( ){int abstencao;
float percentguebuza,percentsimango,percentdlhakama,percentbranco,percentabstencao;
system("cls"); cout <<"\n.............bem vindo a divulgacao dos dados parciais das eleicoes presidenciais 2012!.....\n\n";
cout<<"provincia"" ""votos"" ""guebuza"" ""dlhakama"" ""simango"" ""branco \n";
cout<<"----------------------------------------------------------------\n";
cout<<"inhambane"" "<<i<<" "<<i2<<" "<<i3<<" "<<i4<<" "<<i5<<"\n";
cout<<" maputo"" "<<m<<" "<<mm<<" "<<m3<<" "<<m4<<" "<<m5<<"\n";
cout<<" Gaza"" "<<g<<" "<<gg<<" "<<g3<<" "<<g4<<" "<<g5<<"\n";
cout<<" Manica"" "<<n<<" "<<nn<<" "<<n3<<" "<<n4<<" "<<n5<<"\n";
cout<<" Sofala"" "<<s<<" "<<ss<<" "<<s3<<" "<<s4<<" "<<s5<<"\n";
cout<<" Zambezia"" "<<z<<" "<<zz<<" "<<z3<<" "<<z4<<" "<<z5<<"\n";
cout<<" Tete"" "<<t1<<" "<<tt<<" "<<t3<<" "<<t4<<" "<<t5<<"\n";
cout<<" Nampula"" "<<p<<" "<<pp<<" "<<p3<<" "<<p4<<" "<<p5<<"\n";
cout<<"C.Delgado"" "<<o<<" "<<oo<<" "<<o3<<" "<<o4<<" "<<o5<<"\n";
cout<<" Niassa"" "<<k<<" "<<k2<<" "<<k3<<" "<<k4<<" "<<k5<<"\n";
cout<<"----------------------------------------------------------------\n";
cout<<"\n\n";
cout<<"\n\n.....Bem vindo a divulgacao dos dados gerais das eleicoes Presidenciais 2012!.. \n\n";
abstencao=100-xx; percentabstencao=abstencao%100; percentbranco=(f100)/xx; percentguebuza=(b100)/xx; percentsimango=(100r)/xx; percentdlhakama=(c100)/xx;
cout<<"\n A presente votacao teve um indice de abstencao de "<<abstencao<<" eleitores, "<< " correspondente a "<<percentabstencao<<"% dos eleitores inscritos.\n\n";
cout<<" ""candidato"" ""votos"" ""percentagem \n";
cout<<" ----------------------------------------\n";
Cout<<" guebuza "" "<< b<<" "<<percentguebuza <<"%\n";
Cout<<" dlhakama "" "<< c<<" "<<percentdlhakama<<"%\n";
Cout<<" simango "" "<< r<<" "<<percentsimango <<"%\n";
Cout<<" branco "" "<< f<<" "<<percentbranco <<"%\n";
cout<<" ----------------------------------------\n";
if((c==r)>b){cout<<"\n\nempate do candidato afonso dlhakama e deviz simango.\n";
3° Limpada a tela o programa exibe a mensagem de local de inscrição de eleitor, exemplo: ELEITOR INSCRITO EM INHAMBANE.
4° Limpada a tela aparecem a seguir três mensagens, eu são: CARO ELEITOR NA TABELA ABAIXO APRESENTAMOS OS CANDIDATOS E OS CODIGOS CORRESPONDENTES:
Z - ARMANDO EMILIO GUEBUZA, y - AFONSO DLHAKAMA, x - DEVIZ SIMANGO, u - VOTO EM BRANCO
QUERIDO ELEITOR, DIGITE O SEU VOTO!
5° Quando o eleitor digita o seu voto, aparece na tela uma mensagem de confirmação do seu voto, ex: CARO ELEITOR VOTOU AFONSO DLHAKAMA. Voltando assim a tela ao segundo passo acima descrito, ate que seja encerrada a votação.
O código fonte acima apresentado tem seis funções, incluindo a função principal main(), eu são: void cadastro ( int ), void menu ( int código ); void eleição (int codigo), int cod (int código), void mostra( ). No inicio do programa tenho declaradas as bibliotecas: iostream, conio.h, stdlib.h, Windows.h, bibliotecas essas que fazem o suporte das funcionalidades usadas no programa, pelo código fonte, tendo cada função a sua sintaxe e suas funcionalidades. Depois de declaradas as funções temos a declaração das variáveis globais, variáveis essas que têm a importância de serem usadas em todas as funções, sem nenhum conflito variáveis.
No inicio da função main ( ), temos o system("mode con: cols=110 lines=50"); que e uma funcionalidade da biblioteca windows. h que da a possibilidade de aumentarmos a tela do MS- DOS onde corre o ficheiro executável.
E na função main onde o programa exibe uma mensagem de boas vindas, como sinal de inicialização do processo de votação, para o caso de uma situação prática, apresentada esta mensagem a função main chama a função cod ( );
Nesta função temos logo no inicio o código Sleep (1000); que e uma funcionalidade da biblioteca Windows .h, comando este eu tem como função segurar a tela do visor de acordo com um tempo predefinido, dependendo do programador, terminado o tempo de paragem da tela system(“cls”); funcionalidade da biblioteca conio.h, faz a limpeza da tela.
De seguida esta função faz a exibição na tela de uma mensagem eu pede ao eleitor que digite o código patente no seu cartão de eleitor, lido o código e guardado numa matriz que recebe todos os códigos digitados pelos eleitores, usando uma estrutura “for” percorre se a mesma matriz atrás referida para pesquisar se o código digitado e igual a um outro já guardado na matriz, se o código digitado não for encontrado na matriz “mata”, o código e guardado numa segunda matriz de nome “ata”, e logo de imediato e chamada a função cadastro(código); se o código digitado for idêntico a um outro já digitado o programa exibe uma mensagem ao eleitor informando lhe que o voto já foi depositado, ou o eleitor tenha falhado o código, chamando de imediato a mesma função cod (código); para dar possibilidade ao eleitor de voltar a introduzir o código correctamente.
Quando o código e correctamente digitado ou não e um código digitado pela segunda vez, esta função recebe, esta variável código do tipo inteira e percorre todas as condições aqui feitas.
Nesta função temos cadastrados 100 eleitores, divididos por dez províncias, onde cada província tem dez eleitores inscritos. Cada um dos cem eleitores o seu próprio código, tendo o primeiro eleitor o código “1” e o ultimo eleitor o código “100”, percorrendo o programa todas as condições aqui dispostas, exibe se na tela a província em que o eleitor esta inscrito.
faz parte do menu. Digitado o voto pelo eleitor, chama se a função cod (código), para um novo eleitor, digitar o seu código para poder votar.
Esta função faz a divulgação dos votos parciais e votos gerais, de referir que esta função e chamada pela função cod( ), quando a pessoa responsável por cada urna digita o código 500, no momento em que o programa pede ao eleitor para digitar o código patente no seu cartão de eleitor.
Na tabela que exibe a divulgação dos votos parciais, temos uma coluna de províncias, coluna de votos, e colunas para os candidatos e voto nulo, cada coluna com seus votos correspondentes.
Na tabela da divulgação dos dados gerais da votação, exibe-se o total de votos de cada candidato, a percentagem de cada candidato em relação ao total de eleitores que foram as urnas.
Exibidas as duas tabelas o programa exibe uma mensagem divulgando o vencedor da votação, ou empate se for o caso. De referir que a mensagem aqui exibida e dependente das condições colocadas nesta função para fazer a comparação dos votos depositados para os três candidatos.
O relatório acima descrito é resultado da unificação de quase todo o conhecimento adquirido durante o semestre na cadeira de programação, onde tivemos a oportunidade de aprender e
vermos a nossa evolução na programação em linguagem c++. Pude se detalhar neste relatório basicamente a parte mais técnica do programa de uma urna electrónica, que recebe o código patente no cartão de eleitor que esteja na urna, fazendo o cadastro ou a leitura do código para o reconhecimento da província onde o eleitor inscreveu-se, dando a chance ao eleitor de usufruir do seu direito de voto caso o código seja correcto.
E por fim de referir o programa aqui relatado tem a particularidade de apresentar a divulgação dos resultados parciais e gerais ao fim da votação, processo este que encerra quando o responsável pela urna digita o código “500”.