Programación General > Java

 No Se Que Hacer

(1/2) > >>

digichap28:
Hola que tal como estan?
Bueno aqui esta lo que tengo que hacer.

Hacer un programa que dado 80 votos diga cual de los 3 candidatos es vencedor, no debe existir un empate.

AQUI ESTA LO QUE EH HECHO:


--- Citar ---import javax.swing.*;

public class elecciones {

    public static void main  (String[]args)  {
       
   
       int can,k,contd,conta,contc,contanu;
       
       contd=0; conta=0; contc=0; contanu=0;
   
   
    for(k=1;k<=80;k++){
       can=Integer.parseInt(JOptionPane.showInputDialog("Digite un numero segun su candidato: \n " + "     1:Diego    2:Andres   3:Carlos "));
    if (can== 1){
       contd=contd+1;
    }
    if (can== 2){
       conta=conta+1;
    }
    if (can==3) {
       contc=contc+1;
    } else{
       contanu=contanu+1;
    } 
   
    }
   
    if ((contd>conta) && (contd>contc)) {
       JOptionPane.showMessageDialog(null,"El ganador es Diego con " +contd + " votos" );
    }   
   
    if ((conta>contd)&&(conta>contc)){
       JOptionPane.showMessageDialog(null,"El ganador es Andres con "+ conta + " votos");
    }     
   
    if ((contc>contd)&& (contc>conta)) {
       JOptionPane.showMessageDialog(null,"El ganador es Carlos con "+ contc + " votos");
    }
   
    }   
   
       
       
       }
   
   
   
--- Fin de la cita ---

Hasta ahi solo sale quien es el vencedor de los tres candidatos, pero si llegase a existir un empate, ejemplo: candidato1 = 30 votos candidato2 = 30 votos candidato3 = 20 votos , que podria hacer si eso llegase a pasar?? una segunda vuelta??? Que diga que hubo un empate en el primer lugar?? o que puede ser??

La verdad no se, y tampoco como escribirlo.

Otra cosa, me pueden ayudar a optimizarlo si se puede?? GRACIAS

digichap28:
Hola de nuevo, miren eh hecho algunos cambios al codigo pero ahora tengo otra inquietud mas, por que no se hace ninguno de los procesos de por (porcentajes)??? ayudenme please


--- Citar ---import javax.swing.*;

public class elecciones {

    public static void main  (String[]args)  {
       
   
       int can,k,n,contd,conta,contc,contanu,contbla,porD,porA,porC,porBLA,porANU,Vvc;
       
       contd=0; conta=0; contc=0; contbla=0; contanu=0;
        n=10; 
   
    //ELECCION Y CONTEO DE VOTOS
    for(k=1;k<=n;k++){
       can=Integer.parseInt(JOptionPane.showInputDialog
      ("Digite el numero correspondiente segun su candidato: \n \n  " + "        " + "1--Diego\n " + "         " + "2--Andres\n " + "         " + "3--Carlos\n " + "         " + "4--Voto en blanco\n "));
   
    switch(can) {
       case 1:contd=contd+1;
       break;
       case 2:conta=conta+1;
       break;
       case 3:contc=contc+1;
       break;
       case 4:contbla=contbla+1;
       break;
       
       default: contanu=contanu+1;
       break;
    }
       
    }
   
   
   
    if ((contd>conta) && (contd>contc)) {
       JOptionPane.showMessageDialog(null,"El ganador es Diego con " +contd + " votos" );
    }   
   
    if ((conta>contd)&&(conta>contc)){
       JOptionPane.showMessageDialog(null,"El ganador es Andres con "+ conta + " votos");
    }     
   
    if ((contc>contd)&& (contc>conta)) {
       JOptionPane.showMessageDialog(null,"El ganador es Carlos con "+ contc + " votos");
    }
     //PORCENTAJES VOTACIONES
    porD=(contd/n)*100;
    porA=(conta/n)*100;
    porC=(contc/n)*100;
    porBLA=(contbla/n)*100;
    porANU=(contanu/n)*100;
    //
    Vvc=contd+conta+contc;
    JOptionPane.showMessageDialog(null,"      **ESTADISTICAS**\n \n"+ "      -Porcentajes- \n"+ "Diego = " + porD+"%" +"\n"+ "Andres = "+ porA+"%" +"\n"+ "Carlos = "+ porC+"%" +"\n"+ "Votos en blanco = "+ porBLA+"%" +"\n"+ "Votos anulados = "+ porANU+"%" +"\n \n"+ "      -Cantidad votos-\n"+ "Votos validos candidatos = "+ Vvc +"\n"+"Votos en blanco = " +contbla +"\n"+ "Votos anulados = " + contanu +"\n"+ "Total = "+ n );
   
    }   
   
       
       
       }
   
   
   
--- Fin de la cita ---

digichap28:
NADIE PUEDE AYUDARME??  :huh:  :(

manix:
import javax.swing.*;

public class elecciones {

    public static void main  (String[]args)  {
   
 
    int can,k,n,contd,conta,contc,contanu,contbla,Vvc;
    float porD = 0;
    float porA = 0;
    float porC = 0;
    float porBLA = 0;
    float porANU = 0;
   
    contd=0; conta=0; contc=0; contbla=0; contanu=0;
        n=10;
   
    //ELECCION Y CONTEO DE VOTOS
    for(k=1;k<=n;k++){
    can=Integer.parseInt(JOptionPane.showInputDialog
      ("Digite el numero correspondiente segun su candidato: \n \n  " + "        " + "1--Diego\n " + "        " + "2--Andres\n " + "        " + "3--Carlos\n " + "        " + "4--Voto en blanco\n "));
   
    switch(can) {
    case 1:contd=contd+1;
    break;
    case 2:conta=conta+1;
    break;
    case 3:contc=contc+1;
    break;
    case 4:contbla=contbla+1;
    break;
   
    default: contanu=contanu+1;
    break;
    }
       
    }
   
 
   
    if ((contd>conta) && (contd>contc)) {
    JOptionPane.showMessageDialog(null,"El ganador es Diego con " +contd + " votos" );
    }
    else if ((conta>contd)&&(conta>contc)){
    JOptionPane.showMessageDialog(null,"El ganador es Andres con "+ conta + " votos");
    }  
   
    else if ((contc>contd)&& (contc>conta)) {
    JOptionPane.showMessageDialog(null,"El ganador es Carlos con "+ contc + " votos");
    }
    //PORCENTAJES VOTACIONES
    porD= ((float)contd/n) * 100;
    porA=((float)conta/n) * 100;
    porC=((float)contc/n) * 100;
    porBLA=((float)contbla/n) * 100;
    porANU=((float)contanu/n) * 100;
    //
    Vvc=contd+conta+contc;
    JOptionPane.showMessageDialog(null,"      **ESTADISTICAS**\n \n"+ "      -Porcentajes- \n"+ "Diego = " + (int)porD+"%" +"\n"+ "Andres = "+ (int)porA+"%" +"\n"+ "Carlos = "+ (int)porC+"%" +"\n"+ "Votos en blanco = "+ (int)porBLA+"%" +"\n"+ "Votos anulados = "+ (int)porANU+"%" +"\n \n"+ "      -Cantidad votos-\n"+ "Votos validos candidatos = "+ Vvc +"\n"+"Votos en blanco = " +contbla +"\n"+ "Votos anulados = " + contanu +"\n"+ "Total = "+ n );
 
    }  
       
    }


esta es una forma de resolver los porcentajes.... si quieres resolver lo de los empates puedes poner una bandes y repeter el ciclo hasta que haya un ganador

digichap28:
Hola que tal?

MUCHAS GRACIAS MANIX!!  :hola:

Otra cosa, por que no dejaba como lo tenia?
GRACIAS

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa