Advertisement
auladecomputacao

Urna_projeto4

Oct 17th, 2018
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 12.91 KB | None | 0 0
  1. // Desenvolva um programa de urna eletronica para as eleições. Deverá contabilizar todos os votos e apresentar um relatório
  2. // Função : Contabilizar os votos de presidente
  3. // Autor : Guilherme Bezerra Fernandes
  4. // Data : 17/10/2018
  5.  
  6. //Programa desenvolvido em linguagem C com o a biblioteca Conio2.h
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <conio2.h>
  11. #include <windows.h>
  12.  
  13. int op, confirma;
  14. int bolsonaro, haddad, nulo, branco;
  15. char a;
  16. int pressionou1, pressionou2;
  17. int digito1;
  18.  
  19. int votouBranco=0;
  20. int votouNulo=0;
  21.  
  22. short posX = 30, posY = 2, i;
  23. char textoCandidato[15];
  24. char confirmaVoto[15];
  25.  
  26. void moveXY(int x, int y, char t[10])
  27. {
  28.     HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
  29.     COORD position = {x,y};
  30.     SetConsoleCursorPosition(hStdout, position);
  31.     printf("%s", t);  
  32. }
  33.  
  34. void tamanho_tela(int x, int y)
  35. {
  36.    HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);   
  37.    SMALL_RECT sr;
  38.    COORD consoleSize;
  39.    sr.Top=sr.Left=0;  
  40.    consoleSize.X = x; consoleSize.Y = y;
  41.    sr.Right=consoleSize.X-1; sr.Bottom=consoleSize.Y-1;  
  42.  
  43.    SetConsoleWindowInfo(console, TRUE, &sr);
  44.    SetConsoleScreenBufferSize(console, consoleSize);    
  45. }
  46.  
  47. int main()
  48. {
  49.     tamanho_tela(55,16);
  50.    
  51.     digito1 = 0;
  52.     int u;
  53.     op = 0;
  54.     branco = 0;
  55.     nulo = 0 ;
  56.     i = 0;
  57.  
  58.     while(op != -1)
  59.     {
  60.        
  61.         /*
  62.     for(u=0; u <= 255; u++)
  63.     {
  64.         printf("[%d]: %c\n", u, u);
  65.     }
  66.     getchar();     
  67.     */
  68.    
  69.     textcolor(15);
  70.         system("cls");
  71.         //printf("Eleicoes 2018\n");       
  72.         moveXY(0,0, "ÛÛÛÛÛÛÛÛÛÛÛÛÛ    Eleicoes 2018    ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"); moveXY(0,1, "");
  73.         printf(" _______________________      URNA ELETRONICA     \n");
  74.         printf(" |    _____            |     |  1  |  2  |  3 |   \n");
  75.         printf(" |    |"); printf("%d|%d|%10s", pressionou1, pressionou2, textoCandidato); printf("  |     |  4  |  5  |  6 |   \n");
  76.         printf(" |    -----            |     |  7  |  8  |  9 |   \n");
  77.         printf(" |                     |           |  0  |        \n");
  78.         printf(" |   "); printf("%10s", confirmaVoto); printf("        |                          \n");
  79.         printf(" |                     |\n");
  80.        
  81.         textcolor(0);
  82.         gotoxy(28,8);      
  83.         textbackground(15);
  84.         printf("Branco");
  85.        
  86.        
  87.         gotoxy(36,8);
  88.         textbackground(12);
  89.         printf("Corrige");
  90.        
  91.         gotoxy(45,8);
  92.         textbackground(10);
  93.         printf("Confirma");
  94.        
  95.         textcolor(15);
  96.         textbackground(0);         
  97.         gotoxy(1,9);
  98.        
  99.        
  100.         printf(" |_____________________|                          \n\n");
  101.  
  102.         gotoxy(37,10);
  103.         textbackground(6); 
  104.         printf("Relatorio");
  105.  
  106.         gotoxy(1,11);
  107.         textcolor(15);
  108.         textbackground(0); 
  109.        
  110.  
  111.         printf("17 - Bolsonaro\n");
  112.         printf("13 - Haddad\n\n");
  113.  
  114.         printf("::: Pressione as teclas com o codigo do candidato :::\n\n");
  115.        
  116.         printf("ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ");    
  117.        
  118.         for(i =15;i >=0;i--)  
  119.            moveXY(53,i, "Û");
  120.        
  121.         textcolor(14);
  122.         moveXY(posX,posY, "Û");
  123.        
  124.        a = toupper(getch());  
  125.        
  126.        //printf("Tecla pressionada %c", a)     ;
  127.        //printf("Valor de posX %d posY %d", posX, posY)     ;
  128.        
  129.         switch(a)
  130.         {
  131.             case 'H':  //para cima
  132.                 if (posY > 2)
  133.                 {
  134.                     if ((posY==10)&&(posX==38))        
  135.                     {                  
  136.                         posY = 8;
  137.                         moveXY(posX,posY, "Û");  
  138.                     }else
  139.                     {
  140.                    
  141.                     moveXY(posX,posY, " ");
  142.                     posY--;
  143.                     moveXY(posX,posY, "Û");            
  144.                    
  145.                     if (posY == 7)
  146.                     {
  147.                         if (posX == 29)
  148.                            posX = 30;
  149.                            
  150.                         if (posX == 38)
  151.                            posX = 36;
  152.                            
  153.                         if (posX == 47)
  154.                            posX = 42;
  155.                                                    
  156.                         posY = 5;
  157.                         moveXY(posX,posY, "Û");  
  158.                     }      
  159.                 }
  160.                    
  161.                                                
  162.                 }
  163.                
  164.                
  165.             break;
  166.            
  167.             case 'P':  //para baixo
  168.                 if (posY < 10)
  169.                 {
  170.                     if ((posY==8)&&(posX==38))         
  171.                     {                  
  172.                         posY = 10;
  173.                         moveXY(posX,posY, "Û");  
  174.  
  175.                     }else if (posY < 7)
  176.                     {  
  177.                    
  178.                    
  179.                     moveXY(posX,posY, " ");
  180.                     posY++;
  181.                     moveXY(posX,posY, "Û");  
  182.                    
  183.                     if (posY == 6)
  184.                     {
  185.                         if (posX == 30)
  186.                            posX = 29;
  187.                            
  188.                         if (posX == 36)
  189.                            posX = 38;
  190.                            
  191.                         if (posX == 42)
  192.                            posX = 47;
  193.                        
  194.                         posY = 8;
  195.                         moveXY(posX,posY, "Û");  
  196.                     }      
  197.                 }
  198.                    
  199.                 }
  200.             break;
  201.            
  202.             case 'M':  //para direita
  203.                 if ((posX < 42)&&(posY !=8)&&(posY<7))
  204.                 {
  205.                     moveXY(posX,posY, " ");
  206.                     posX+=6;
  207.                     moveXY(posX,posY, "Û");            
  208.                 }
  209.                 if ((posX < 42)&&(posY ==8)){
  210.                     moveXY(posX,posY, " ");
  211.                     posX+=9;
  212.                     moveXY(posX,posY, "Û");            
  213.                    
  214.                 }
  215.             break;
  216.              
  217.             case 'K':    //para esquerda
  218.                 if ((posX > 30)&&(posY !=8)&&(posY<7))
  219.                 {
  220.                     moveXY(posX,posY, " ");
  221.                     posX-=6;
  222.                     moveXY(posX,posY, "Û");            
  223.                 }
  224.                 if ((posX > 30)&&(posY ==8)){
  225.                     moveXY(posX,posY, " ");
  226.                     posX-=9;
  227.                     moveXY(posX,posY, "Û");            
  228.                    
  229.                 }                                
  230.             break;
  231.            
  232.             case 13:
  233.                
  234.                 //primeira linha
  235.                 //tecla 1
  236.                 if ((posX == 30)&&(posY==2))
  237.                 {
  238.                    
  239.                     if (digito1==0)
  240.                     {
  241.                        digito1 = 1;
  242.                        pressionou1 = 1;
  243.                     }else{
  244.                     pressionou2 = 1;   
  245.                    
  246.                         //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
  247.                         if (pressionou1 != 1)
  248.                         {
  249.                             strcpy(textoCandidato, "invalido");                
  250.                             strcpy(confirmaVoto, "Confirma?");     
  251.                             votouNulo=1;           
  252.                         }
  253.                    
  254.                     }
  255.                    
  256.                 }
  257.                 //tecla 2
  258.                 if ((posX == 36)&&(posY==2))
  259.                 {
  260.                    
  261.                     if (digito1==0){
  262.                     digito1 = 1;   
  263.                     pressionou1 = 2;
  264.                     }else{
  265.                     pressionou2 = 2;   
  266.                    
  267.                     //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
  268.                         if (pressionou1 != 1)
  269.                         {
  270.                             strcpy(textoCandidato, "invalido");                
  271.                             strcpy(confirmaVoto, "Confirma?");     
  272.                             votouNulo=1;           
  273.                         }
  274.                    
  275.                    
  276.                     }
  277.                 }
  278.                
  279.                 //tecla 3
  280.                 if ((posX == 42)&&(posY==2))
  281.                 {
  282.                    
  283.                     if (digito1==0){
  284.                     digito1 = 1;   
  285.                     pressionou1 = 3;
  286.                     }else{
  287.                     pressionou2 = 3;   
  288.                    
  289.                     if (pressionou1 == 1)
  290.                     {
  291.                         strcpy(textoCandidato, "Haddad");                  
  292.                         strcpy(confirmaVoto, "Confirma?");                 
  293.                     }
  294.                     }                  
  295.                 }
  296.                
  297.                 //segunda linha
  298.                 //tecla 4
  299.                 if ((posX == 30)&&(posY==3))
  300.                 {
  301.                    
  302.                     if (digito1==0){
  303.                     digito1 = 1;   
  304.                     pressionou1 = 4;
  305.                     }else{
  306.                     pressionou2 = 4;   
  307.                    
  308.                     //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
  309.                         if (pressionou1 != 1)
  310.                         {
  311.                             strcpy(textoCandidato, "invalido");                
  312.                             strcpy(confirmaVoto, "Confirma?");     
  313.                             votouNulo=1;           
  314.                         }
  315.                    
  316.                     }
  317.                    
  318.                 }
  319.                
  320.                 //tecla 5
  321.                 if ((posX == 36)&&(posY==3))
  322.                 {
  323.                    
  324.                     if (digito1==0){
  325.                     digito1 = 1;   
  326.                     pressionou1 = 5;
  327.                     }else{
  328.                     pressionou2 = 5;   
  329.                    
  330.                     //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
  331.                         if (pressionou1 != 1)
  332.                         {
  333.                             strcpy(textoCandidato, "invalido");                
  334.                             strcpy(confirmaVoto, "Confirma?");     
  335.                             votouNulo=1;           
  336.                         }
  337.                    
  338.                     }
  339.                    
  340.                 }
  341.                
  342.                 //tecla 6
  343.                 if ((posX == 42)&&(posY==3))
  344.                 {
  345.                    
  346.                     if (digito1==0){
  347.                     digito1 = 1;   
  348.                     pressionou1 = 6;
  349.                     }else{
  350.                     pressionou2 = 6;   
  351.                    
  352.                     //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
  353.                         if (pressionou1 != 1)
  354.                         {
  355.                             strcpy(textoCandidato, "invalido");                
  356.                             strcpy(confirmaVoto, "Confirma?");     
  357.                             votouNulo=1;           
  358.                         }
  359.                    
  360.                     }
  361.                    
  362.                 }
  363.                
  364.                 //terceira linha
  365.                 //tecla 7
  366.                 if ((posX == 30)&&(posY==4))
  367.                 {
  368.                    
  369.                     if (digito1==0){
  370.                     digito1 = 1;   
  371.                     pressionou1 = 7;
  372.                     }else{
  373.                     pressionou2 = 7;   
  374.                    
  375.                     if (pressionou1 == 1)
  376.                     {
  377.                         strcpy(textoCandidato, "Bolsonaro");                   
  378.                         strcpy(confirmaVoto, "Confirma?");                 
  379.                     }
  380.                     }
  381.                    
  382.                 }
  383.                
  384.                 //tecla 8
  385.                 if ((posX == 36)&&(posY==4))
  386.                 {
  387.                    
  388.                     if (digito1==0){
  389.                     digito1 = 1;   
  390.                     pressionou1 = 8;
  391.                     }else{
  392.                     pressionou2 = 8;   
  393.                    
  394.                     //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
  395.                         if (pressionou1 != 1)
  396.                         {
  397.                             strcpy(textoCandidato, "invalido");                
  398.                             strcpy(confirmaVoto, "Confirma?");     
  399.                             votouNulo=1;           
  400.                         }
  401.                    
  402.                     }
  403.                    
  404.                 }
  405.                
  406.                 //tecla 9
  407.                 if ((posX == 42)&&(posY==4))
  408.                 {
  409.                    
  410.                     if (digito1==0){
  411.                     digito1 = 1;   
  412.                     pressionou1 = 9;
  413.                     }else{
  414.                     pressionou2 = 9;   
  415.                    
  416.                     //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
  417.                         if (pressionou1 != 1)
  418.                         {
  419.                             strcpy(textoCandidato, "invalido");                
  420.                             strcpy(confirmaVoto, "Confirma?");     
  421.                             votouNulo=1;           
  422.                         }
  423.                    
  424.                     }
  425.                    
  426.                 }
  427.                
  428.                 //quarta linha tecla 0
  429.                
  430.                 if ((posX == 36)&&(posY==5))
  431.                 {
  432.                    
  433.                     if (digito1==0){
  434.                     digito1 = 1;   
  435.                     pressionou1 = 0;
  436.                     }else{
  437.                     pressionou2 = 0;   
  438.                    
  439.                     //se o primeiro digito for diferente de 1 já é invalido, pois só exitem 2 opções: 13 ou 17
  440.                         if (pressionou1 != 1)
  441.                         {
  442.                             strcpy(textoCandidato, "invalido");                
  443.                             strcpy(confirmaVoto, "Confirma?");     
  444.                             votouNulo=1;           
  445.                         }
  446.                    
  447.                     }                  
  448.                 }
  449.  
  450.                 //quinta linha               - botao corrige
  451.                 if ((posX == 38)&&(posY==8))
  452.                 {
  453.                     digito1 = 0;   
  454.                     pressionou1 = 0;
  455.                     pressionou2 = 0;                       
  456.                     strcpy(textoCandidato, "");                
  457.                     strcpy(confirmaVoto, "");          
  458.                     votouBranco = 0;   
  459.                     votouNulo=1;   
  460.                    
  461.                 }
  462.                
  463.                 //quinta linha               - botao branco
  464.                 if ((posX == 29)&&(posY==8))
  465.                 {
  466.                     pressionou1 = 0;
  467.                     pressionou2 = 0;   
  468.                     strcpy(textoCandidato, "em BRANCO");                   
  469.                     strcpy(confirmaVoto, "Confirma?");         
  470.                     votouBranco=1;
  471.                 }
  472.                
  473.                 //quinta linha               - botao confirma
  474.                 if ((posX == 47)&&(posY==8))
  475.                 {
  476.                     if (votouBranco==1)
  477.                     branco++;
  478.                    
  479.                     else if ((pressionou1==0)&&(pressionou2==0)||(votouNulo==1))
  480.                     nulo++;
  481.                    
  482.                     else if ((pressionou1==1)&&(pressionou2==7))
  483.                     bolsonaro++;
  484.                    
  485.                     else if ((pressionou1==1)&&(pressionou2==3))
  486.                     haddad++;
  487.                    
  488.                     _beep(500,2000);
  489.                    
  490.                     digito1 = 0;   
  491.                     pressionou1 = 0;
  492.                     pressionou2 = 0;   
  493.                     strcpy(textoCandidato, "");                
  494.                     strcpy(confirmaVoto, "");          
  495.                     votouBranco = 0;
  496.                     votouNulo = 0;     
  497.                 }
  498.                
  499.                 //sexta linha                - botao sair
  500.                 if ((posX == 38)&&(posY==10))
  501.                 {                  
  502.                         system("cls"); 
  503.    
  504.                         printf("Relatorio final\n");
  505.                         printf("Bolsonaro: %d\n", bolsonaro);
  506.                         printf("Haddad: %d\n", haddad);
  507.                         printf("Branco: %d\n", branco);
  508.                         printf("Nulo: %d\n", nulo);
  509.                        
  510.                         system("pause") ;
  511.                 }
  512.         }
  513.        
  514.     }
  515.     system("pause") ;
  516.     return 0;
  517. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement