Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

INTRODUÇÃO 3URNA ELECTRÓNICA 4FLUXOGRAMA DE CHAMADA DE FUNC, Provas de Informática

relatorio final de programacao em c++

Tipologia: Provas

2012

Compartilhado em 27/11/2012

helecardino-cabral-7
helecardino-cabral-7 🇧🇷

4.8

(13)

56 documentos

1 / 14

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
DIVISÃO DE ENGENHARIA:
ENGENHARIA INFORMÁTICA
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
INDICE
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Pré-visualização parcial do texto

Baixe INTRODUÇÃO 3URNA ELECTRÓNICA 4FLUXOGRAMA DE CHAMADA DE FUNC e outras Provas em PDF para Informática, somente na Docsity!

DIVISÃO DE ENGENHARIA:

ENGENHARIA INFORMÁTICA

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

INDICE

INTRODUÇÃO

  • INTRODUÇÃO.............................................................................................................................................
  • URNA ELECTRÓNICA................................................................................................................................
  • FLUXOGRAMA DE CHAMADA DE FUNCOES DO CÓDIGO ABAIXO APRESENTADO.................
  • CÓDIGO FONTE:.........................................................................................................................................
  • FICHEIRO EXECUTÁVEL..........................................................................................................................
  • FUNCIONAMENTO DAS FUNÇÕES QUE COMPÔEM O CÓDIGO FONTE......................................
  • FUNÇÃO MAIN ( ).....................................................................................................................................
  • FUNÇÃO COD ( )......................................................................................................................................
  • FUNÇÃO CADASTRO ( INT CÓDIGO)..................................................................................................
  • FUNÇÃO MENU (INT CÓDIGO).............................................................................................................
  • FUNAÇÃO ELEIÇÃO (INT CÓDIGO).....................................................................................................
  • FUNÇÃO MOSTRA ( )...............................................................................................................................
  • CONCLUSÃO.............................................................................................................................................

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++.

FLUXOGRAMA DE CHAMADA DE FUNCOES DO CÓDIGO ABAIXO APRESENTADO.................

CÓDIGO FONTE:.........................................................................................................................................

#include #include <conio.h> #include <stdlib.h> #include<windows.h> using namespace std; void cadastro (int); void menu (int codigo); void eleicao (int codigo); int cod (int codigo); void mostra(); float c=0,r=0,f=0,b=0,xx=0;

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)

FUNÇÃO

MOSTRA( )

FUNÇÃO

COD( )

FUNÇÃO

CADASTRO

( INT

CODIGO)

FUNÇÃO

COD( )

FUNÇÃO

MENU ( )

FUNÇÃO

ELEIÇÃO

(INT

CODIGO )

FUNÇÃO

COD( )

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.

FUNCIONAMENTO DAS FUNÇÕES QUE COMPÔEM O CÓDIGO FONTE......................................

FONTE

FUNÇÃO MAIN ( ).....................................................................................................................................

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 ( );

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.

FUNÇÃO CADASTRO ( INT CÓDIGO)..................................................................................................

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.

FUNÇÃO MOSTRA ( )...............................................................................................................................

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.

CONCLUSÃO

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”.