Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Desenvolva um programa de urna eletronica para as eleições. Deverá contabilizar todos os votos e apresentar um relatório
- // Função : Contabilizar os votos de presidente
- // Autor : Guilherme Bezerra Fernandes
- // Data : 17/10/2018
- //Programa desenvolvido em linguagem C com o a biblioteca Conio2.h
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio2.h>
- #include <windows.h>
- int op, confirma;
- int bolsonaro, haddad, nulo, branco;
- char a;
- int pressionou1, pressionou2;
- int digito1;
- int votouBranco=0;
- int votouNulo=0;
- short posX = 30, posY = 2, i;
- char textoCandidato[15];
- char confirmaVoto[15];
- void moveXY(int x, int y, char t[10])
- {
- HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
- COORD position = {x,y};
- SetConsoleCursorPosition(hStdout, position);
- printf("%s", t);
- }
- void tamanho_tela(int x, int y)
- {
- HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
- SMALL_RECT sr;
- COORD consoleSize;
- sr.Top=sr.Left=0;
- consoleSize.X = x; consoleSize.Y = y;
- sr.Right=consoleSize.X-1; sr.Bottom=consoleSize.Y-1;
- SetConsoleWindowInfo(console, TRUE, &sr);
- SetConsoleScreenBufferSize(console, consoleSize);
- }
- int main()
- {
- tamanho_tela(55,16);
- digito1 = 0;
- int u;
- op = 0;
- branco = 0;
- nulo = 0 ;
- i = 0;
- while(op != -1)
- {
- /*
- for(u=0; u <= 255; u++)
- {
- printf("[%d]: %c\n", u, u);
- }
- getchar();
- */
- textcolor(15);
- system("cls");
- //printf("Eleicoes 2018\n");
- moveXY(0,0, "ÛÛÛÛÛÛÛÛÛÛÛÛÛ Eleicoes 2018 ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"); moveXY(0,1, "");
- printf(" _______________________ URNA ELETRONICA \n");
- printf(" | _____ | | 1 | 2 | 3 | \n");
- printf(" | |"); printf("%d|%d|%10s", pressionou1, pressionou2, textoCandidato); printf(" | | 4 | 5 | 6 | \n");
- printf(" | ----- | | 7 | 8 | 9 | \n");
- printf(" | | | 0 | \n");
- printf(" | "); printf("%10s", confirmaVoto); printf(" | \n");
- printf(" | |\n");
- textcolor(0);
- gotoxy(28,8);
- textbackground(15);
- printf("Branco");
- gotoxy(36,8);
- textbackground(12);
- printf("Corrige");
- gotoxy(45,8);
- textbackground(10);
- printf("Confirma");
- textcolor(15);
- textbackground(0);
- gotoxy(1,9);
- printf(" |_____________________| \n\n");
- gotoxy(37,10);
- textbackground(6);
- printf("Relatorio");
- gotoxy(1,11);
- textcolor(15);
- textbackground(0);
- printf("17 - Bolsonaro\n");
- printf("13 - Haddad\n\n");
- printf("::: Pressione as teclas com o codigo do candidato :::\n\n");
- printf("ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ");
- for(i =15;i >=0;i--)
- moveXY(53,i, "Û");
- textcolor(14);
- moveXY(posX,posY, "Û");
- a = toupper(getch());
- //printf("Tecla pressionada %c", a) ;
- //printf("Valor de posX %d posY %d", posX, posY) ;
- switch(a)
- {
- case 'H': //para cima
- if (posY > 2)
- {
- if ((posY==10)&&(posX==38))
- {
- posY = 8;
- moveXY(posX,posY, "Û");
- }else
- {
- moveXY(posX,posY, " ");
- posY--;
- moveXY(posX,posY, "Û");
- if (posY == 7)
- {
- if (posX == 29)
- posX = 30;
- if (posX == 38)
- posX = 36;
- if (posX == 47)
- posX = 42;
- posY = 5;
- moveXY(posX,posY, "Û");
- }
- }
- }
- break;
- case 'P': //para baixo
- if (posY < 10)
- {
- if ((posY==8)&&(posX==38))
- {
- posY = 10;
- moveXY(posX,posY, "Û");
- }else if (posY < 7)
- {
- moveXY(posX,posY, " ");
- posY++;
- moveXY(posX,posY, "Û");
- if (posY == 6)
- {
- if (posX == 30)
- posX = 29;
- if (posX == 36)
- posX = 38;
- if (posX == 42)
- posX = 47;
- posY = 8;
- moveXY(posX,posY, "Û");
- }
- }
- }
- break;
- case 'M': //para direita
- if ((posX < 42)&&(posY !=8)&&(posY<7))
- {
- moveXY(posX,posY, " ");
- posX+=6;
- moveXY(posX,posY, "Û");
- }
- if ((posX < 42)&&(posY ==8)){
- moveXY(posX,posY, " ");
- posX+=9;
- moveXY(posX,posY, "Û");
- }
- break;
- case 'K': //para esquerda
- if ((posX > 30)&&(posY !=8)&&(posY<7))
- {
- moveXY(posX,posY, " ");
- posX-=6;
- moveXY(posX,posY, "Û");
- }
- if ((posX > 30)&&(posY ==8)){
- moveXY(posX,posY, " ");
- posX-=9;
- moveXY(posX,posY, "Û");
- }
- break;
- case 13:
- //primeira linha
- //tecla 1
- if ((posX == 30)&&(posY==2))
- {
- if (digito1==0)
- {
- digito1 = 1;
- pressionou1 = 1;
- }else{
- pressionou2 = 1;
- //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
- if (pressionou1 != 1)
- {
- strcpy(textoCandidato, "invalido");
- strcpy(confirmaVoto, "Confirma?");
- votouNulo=1;
- }
- }
- }
- //tecla 2
- if ((posX == 36)&&(posY==2))
- {
- if (digito1==0){
- digito1 = 1;
- pressionou1 = 2;
- }else{
- pressionou2 = 2;
- //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
- if (pressionou1 != 1)
- {
- strcpy(textoCandidato, "invalido");
- strcpy(confirmaVoto, "Confirma?");
- votouNulo=1;
- }
- }
- }
- //tecla 3
- if ((posX == 42)&&(posY==2))
- {
- if (digito1==0){
- digito1 = 1;
- pressionou1 = 3;
- }else{
- pressionou2 = 3;
- if (pressionou1 == 1)
- {
- strcpy(textoCandidato, "Haddad");
- strcpy(confirmaVoto, "Confirma?");
- }
- }
- }
- //segunda linha
- //tecla 4
- if ((posX == 30)&&(posY==3))
- {
- if (digito1==0){
- digito1 = 1;
- pressionou1 = 4;
- }else{
- pressionou2 = 4;
- //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
- if (pressionou1 != 1)
- {
- strcpy(textoCandidato, "invalido");
- strcpy(confirmaVoto, "Confirma?");
- votouNulo=1;
- }
- }
- }
- //tecla 5
- if ((posX == 36)&&(posY==3))
- {
- if (digito1==0){
- digito1 = 1;
- pressionou1 = 5;
- }else{
- pressionou2 = 5;
- //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
- if (pressionou1 != 1)
- {
- strcpy(textoCandidato, "invalido");
- strcpy(confirmaVoto, "Confirma?");
- votouNulo=1;
- }
- }
- }
- //tecla 6
- if ((posX == 42)&&(posY==3))
- {
- if (digito1==0){
- digito1 = 1;
- pressionou1 = 6;
- }else{
- pressionou2 = 6;
- //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
- if (pressionou1 != 1)
- {
- strcpy(textoCandidato, "invalido");
- strcpy(confirmaVoto, "Confirma?");
- votouNulo=1;
- }
- }
- }
- //terceira linha
- //tecla 7
- if ((posX == 30)&&(posY==4))
- {
- if (digito1==0){
- digito1 = 1;
- pressionou1 = 7;
- }else{
- pressionou2 = 7;
- if (pressionou1 == 1)
- {
- strcpy(textoCandidato, "Bolsonaro");
- strcpy(confirmaVoto, "Confirma?");
- }
- }
- }
- //tecla 8
- if ((posX == 36)&&(posY==4))
- {
- if (digito1==0){
- digito1 = 1;
- pressionou1 = 8;
- }else{
- pressionou2 = 8;
- //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
- if (pressionou1 != 1)
- {
- strcpy(textoCandidato, "invalido");
- strcpy(confirmaVoto, "Confirma?");
- votouNulo=1;
- }
- }
- }
- //tecla 9
- if ((posX == 42)&&(posY==4))
- {
- if (digito1==0){
- digito1 = 1;
- pressionou1 = 9;
- }else{
- pressionou2 = 9;
- //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
- if (pressionou1 != 1)
- {
- strcpy(textoCandidato, "invalido");
- strcpy(confirmaVoto, "Confirma?");
- votouNulo=1;
- }
- }
- }
- //quarta linha tecla 0
- if ((posX == 36)&&(posY==5))
- {
- if (digito1==0){
- digito1 = 1;
- pressionou1 = 0;
- }else{
- pressionou2 = 0;
- //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
- if (pressionou1 != 1)
- {
- strcpy(textoCandidato, "invalido");
- strcpy(confirmaVoto, "Confirma?");
- votouNulo=1;
- }
- }
- }
- //quinta linha - botao corrige
- if ((posX == 38)&&(posY==8))
- {
- digito1 = 0;
- pressionou1 = 0;
- pressionou2 = 0;
- strcpy(textoCandidato, "");
- strcpy(confirmaVoto, "");
- votouBranco = 0;
- votouNulo=1;
- }
- //quinta linha - botao branco
- if ((posX == 29)&&(posY==8))
- {
- pressionou1 = 0;
- pressionou2 = 0;
- strcpy(textoCandidato, "em BRANCO");
- strcpy(confirmaVoto, "Confirma?");
- votouBranco=1;
- }
- //quinta linha - botao confirma
- if ((posX == 47)&&(posY==8))
- {
- if (votouBranco==1)
- branco++;
- else if ((pressionou1==0)&&(pressionou2==0)||(votouNulo==1))
- nulo++;
- else if ((pressionou1==1)&&(pressionou2==7))
- bolsonaro++;
- else if ((pressionou1==1)&&(pressionou2==3))
- haddad++;
- _beep(500,2000);
- digito1 = 0;
- pressionou1 = 0;
- pressionou2 = 0;
- strcpy(textoCandidato, "");
- strcpy(confirmaVoto, "");
- votouBranco = 0;
- votouNulo = 0;
- }
- //sexta linha - botao sair
- if ((posX == 38)&&(posY==10))
- {
- system("cls");
- printf("Relatorio final\n");
- printf("Bolsonaro: %d\n", bolsonaro);
- printf("Haddad: %d\n", haddad);
- printf("Branco: %d\n", branco);
- printf("Nulo: %d\n", nulo);
- system("pause") ;
- }
- }
- }
- system("pause") ;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement