Advertisement
KaeruCT

votaciones del demonio

Apr 25th, 2011
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.74 KB | None | 0 0
  1. import java.io.*;
  2.  
  3. class Votaciones{
  4.  
  5.     public static void main(String[] args) throws java.io.IOException{
  6.        
  7.         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  8.         PrintStream out = System.out;
  9.        
  10.         // nombres de las provincias
  11.         String prov1 = "Krikri", prov2 = "Cocos", prov3 = "Tiribri";
  12.         // nombres de los partidos
  13.         String partido1 = "RENREN", partido2 = "RINRIN", partido3 = "RUNRUN";
  14.         // nombres de las provincias con mayor cantidad de votos totales y por cada partido
  15.         String provMayorNombre = "", provMayor1Nombre = "", provMayor2Nombre = "", provMayor3Nombre = "",
  16.         provsDelPart1 = "", provsDelPart2 = "", provsDelPart3 = "";
  17.         // cantidad mayor de votos totales y por cada partido en las provincias
  18.         int provMayorVotos = 0, provMayor1 = 0, provMayor2 = 0, provMayor3 = 0;
  19.         int continuar = 0;
  20.  
  21.         int totalVotantes = 2835357, nMesa = 0;
  22.         int numProvincias = 3;
  23.         // total de votos por cada partido, nulos y blancos
  24.         int totalVotos1 = 0, totalVotos2 = 0, totalVotos3 = 0,
  25.         totalVotosNulos = 0, totalVotosBlancos = 0, totalVotos = 0;
  26.        
  27.         for(int i = 0; i < numProvincias; i++){
  28.             String ganadorProv, nombreProv;
  29.             int provVotos1 = 0, provVotos2 = 0, provVotos3 = 0,
  30.             provVotosNulos = 0, provVotosBlancos = 0, provTotalVotos = 0;
  31.            
  32.             // determinar el nombre de la provincia
  33.             if(i == 0){
  34.                 nombreProv = prov1;
  35.             }else{
  36.                 if(i == 1){
  37.                     nombreProv = prov2;
  38.                 }else{
  39.                     nombreProv = prov3;
  40.                 }
  41.             }
  42.            
  43.             out.println("--Provincia "+nombreProv+"--");
  44.             out.println();
  45.            
  46.             do{
  47.                 nMesa++;
  48.                 out.println("--Mesa "+nMesa+"--");
  49.                 out.println();
  50.            
  51.                 out.print("Cantidad de votos por "+partido1+": ");
  52.                 int votos1 = Integer.parseInt(in.readLine());
  53.            
  54.                 out.print("Cantidad de votos por "+partido2+": ");
  55.                 int votos2 = Integer.parseInt(in.readLine());
  56.            
  57.                 out.print("Cantidad de votos por "+partido3+": ");
  58.                 int votos3 = Integer.parseInt(in.readLine());
  59.            
  60.                 out.print("Cantidad de votos nulos: ");
  61.                 int votosNulos = Integer.parseInt(in.readLine());
  62.            
  63.                 out.print("Cantidad de votos en blanco: ");
  64.                 int votosBlancos = Integer.parseInt(in.readLine());
  65.                
  66.                 out.println("Ingrese:");
  67.                 out.println("-  1 si desea continuar");
  68.                 out.println("-  0 si ya no hay mas mesas en esta provincia");
  69.                 continuar = Integer.parseInt(in.readLine());
  70.                
  71.                 // agregar los votos leidos a los votos de la provincia
  72.                 provVotos1 += votos1;
  73.                 provVotos2 += votos2;
  74.                 provVotos3 += votos3;
  75.                 provVotosNulos += votosNulos;
  76.                 provVotosBlancos += votosBlancos;
  77.                
  78.             }while(continuar == 1);
  79.            
  80.             // determinar el total de votos de la provincia
  81.             provTotalVotos = provVotos1 + provVotos2 + provVotos3 + provVotosNulos + provVotosBlancos;
  82.            
  83.             // determinar si el total de votos en esta provincia es mayor al total de votos en una provincia
  84.             if(provTotalVotos > provMayorVotos){
  85.                 provMayorVotos = provTotalVotos;
  86.                 provMayorNombre = nombreProv;
  87.             }
  88.            
  89.             // determinar si el total de votos por el partido 1 en esta provincia es mayor al total de votos en una provincia por el partido 1     
  90.             if(provVotos1 > provMayor1){
  91.                 provMayor1 = provVotos1;
  92.                 provMayor1Nombre = nombreProv;
  93.             }
  94.            
  95.             // determinar si el total de votos por el partido 2 en esta provincia es mayor al total de votos en una provincia por el partido 2
  96.             if(provVotos2 > provMayor2){
  97.                 provMayor2 = provVotos2;
  98.                 provMayor2Nombre = nombreProv;
  99.             }
  100.            
  101.             // determinar si el total de votos por el partido3 en esta provincia es mayor al total de votos en una provincia por el partido 3          
  102.             if(provVotos3 > provMayor3){
  103.                 provMayor3 = provVotos3;
  104.                 provMayor3Nombre = nombreProv;
  105.             }
  106.            
  107.             // determinar el partido ganador en la provincia
  108.             if(provVotos1 > provVotos2){
  109.                 if(provVotos1 > provVotos3){
  110.                     ganadorProv = partido1;
  111.                     provsDelPart1 += nombreProv+" ";
  112.                 }else{
  113.                     ganadorProv = partido3;
  114.                     provsDelPart3 += nombreProv+" ";
  115.                 }
  116.             }else{
  117.                 if(provVotos2 > provVotos3){
  118.                     ganadorProv = partido2;
  119.                     provsDelPart2 += nombreProv+" ";       
  120.                 }else{
  121.                     ganadorProv = partido3;
  122.                     provsDelPart3 += nombreProv+" ";
  123.                 }
  124.             }
  125.        
  126.             out.println("--Provincia "+nombreProv+"--");
  127.             out.println("Cantidad de mesas: "+nMesa);
  128.             out.println("Partido con mayor cantidad de votos: "+ganadorProv);
  129.             out.println();
  130.            
  131.             // agregar los votos de la provincia a los votos del pais
  132.             totalVotos1 += provVotos1;
  133.             totalVotos2 += provVotos2;
  134.             totalVotos3 += provVotos3;
  135.             totalVotosNulos += provVotosNulos;
  136.             totalVotosBlancos += provVotosBlancos;
  137.             totalVotos += provTotalVotos;
  138.         }
  139.        
  140.         String ganador, segLugar, provGanador, provsGanador;
  141.         int totalGanador = 0;
  142.         double porcGanador = 0;
  143.        
  144.         // determinar el porcentaje de abstencionismo
  145.         double porcAbst = (double)(totalVotantes-totalVotos)/totalVotantes*100;
  146.        
  147.         // determinar los porcentajes de cada partido
  148.         // casteando double para que la division no devuelva un entero
  149.         double porc1 = (double)totalVotos1/totalVotos*100,
  150.         porc2 = (double)totalVotos2/totalVotos*100,
  151.         porc3 = (double)totalVotos3/totalVotos*100;
  152.        
  153.         // determinar el ganador
  154.         if(totalVotos1 > totalVotos2){
  155.             if(totalVotos1 > totalVotos3){
  156.                 ganador = partido1;
  157.                 totalGanador = totalVotos1;
  158.                 porcGanador = porc1;
  159.                 provGanador = provMayor1Nombre;
  160.                 provsGanador = provsDelPart1;
  161.                
  162.                 // determinar el partido en 2do lugar
  163.                 if(totalVotos3 > totalVotos2){
  164.                     segLugar = partido3;
  165.                 }else{
  166.                     segLugar = partido2;
  167.                 }
  168.                
  169.             }else{
  170.                 ganador = partido3;
  171.                 totalGanador = totalVotos3;
  172.                 porcGanador = porc3;
  173.                 provGanador = provMayor3Nombre;
  174.                 provsGanador = provsDelPart3;
  175.                
  176.                 // determinar el partido en 2do lugar              
  177.                 if(totalVotos1 > totalVotos2){
  178.                     segLugar = partido1;
  179.                 }else{
  180.                     segLugar = partido2;
  181.                 }
  182.             }
  183.         }else{
  184.             if(totalVotos2 > totalVotos3){
  185.                 ganador = partido2;
  186.                 totalGanador = totalVotos2;
  187.                 porcGanador = porc2;
  188.                 provGanador = provMayor2Nombre;
  189.                 provsGanador = provsDelPart2;
  190.                
  191.                 // determinar el partido en 2do lugar
  192.                 if(totalVotos3 > totalVotos1){
  193.                     segLugar = partido3;
  194.                 }else{
  195.                     segLugar = partido1;
  196.                 }          
  197.             }else{
  198.                 ganador = partido3;
  199.                 totalGanador = totalVotos3;
  200.                 porcGanador = porc3;
  201.                 provGanador = provMayor3Nombre;
  202.                 provsGanador = provsDelPart3;
  203.                
  204.                 // determinar el partido en 2do lugar  
  205.                 if(totalVotos1 > totalVotos2){
  206.                     segLugar = partido1;
  207.                 }else{
  208.                     segLugar = partido2;
  209.                 }
  210.             }
  211.         }
  212.        
  213.         // imprimir info del partido 1
  214.         out.println("--"+partido1+"--");
  215.         out.println("Total de votos: "+totalVotos1);
  216.         out.println("Porcentaje de votos: "+porc1);
  217.         out.println(); 
  218.        
  219.         // imprimir info del partido 2
  220.         out.println("--"+partido2+"--");
  221.         out.println("Total de votos: "+totalVotos2);
  222.         out.println("Porcentaje de votos: "+porc2);
  223.         out.println(); 
  224.        
  225.         // imprimir info del partido 3
  226.         out.println("--"+partido3+"--");
  227.         out.println("Total de votos: "+totalVotos3);
  228.         out.println("Porcentaje de votos: "+porc3);
  229.         out.println();
  230.        
  231.         // determinar si el porcentaje del ganador es mayor al 40%
  232.         if(porcGanador > 40){
  233.             out.println("Ganador: "+ganador);
  234.             out.println("Provincias en las que gano: "+provsGanador);
  235.             out.println("Provincia en la que obtuvo el mayor porcentaje de votos: "+provGanador);
  236.         }else{
  237.             out.println("No hay ganador por que ningun partido alcanzo el 40% necesario");
  238.             out.println("Se debe ir a segunda ronda con los siguientes partidos:");
  239.             out.println(ganador+", "+segLugar);
  240.         }
  241.        
  242.         out.println("Provincia con mayor cantidad de votantes: "+provMayorNombre);
  243.         out.println("Porcentaje de abstencionismo: "+porcAbst);
  244.  
  245.     }
  246.    
  247. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement