Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AhmedDVH

Criando um programa de Voto -- A,B;C

Recommended Posts

Boas pediram-me para criar um programa em Linguagem java de sistema de votação de uma Universidade.

 

- Cada votante atribui uma pontuação numerica de 0 a 100 a cada opção.

 

- A soma das pontuações atribuidas por cada votante não pode exceder 100.

 

- A ordenação das opções é determinada pela pontuação acumulada ( fica á frente quem acumula mais pontos)

 

- O desempate e feito utilizando a media das pontuações quando se considera apenas as pontuações positivas (i.e.., não entram para esta medias as pontuções nulas)

 

- Após o procedimento anterior, se persistirem situações de empate, o desempate é por decisão arbitrária.

 

 

 

Eu não entendo muito bem de Java estou apenas a tentar ajudar alguem..

pesquisei um pouco na net e o resultado que deu e este.

import java.util.Scanner;

public class Eleitor UAN {
    public static void main (String [] args ) {

        /** Le um valor introduzido pelo utilizador
            que vai definir o numero de eleitores */


        Scanner numvotantes = new Scanner (System.in);
        int votantes = 0;

        do{

            System.out.print("Numero de eleitores: ");
            votantes = numvotantes.nextInt();

            if( votantes<1 )
                System.out.println("Numero de eleitores invalido. ");
            System.out.println("");

        }
        while(votantes< 1);



        int somaA = 0;
        int somaB = 0;
        int somaC = 0;
        int contadora = 0;
        int contadorb = 0;
        int contadorc = 0;
        boolean erro= false;


        /** Faz o scan das pontuacoes introduzidas pelo utilizador*/



        for(int eleitor =1; eleitor<= votantes; eleitor++)
            {

                System.out.println("");
                System.out.println ("Eleitor " + eleitor +", faca o favor de introduzir a pontuacao desejada.  ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes ).");
                System.out.println("");

                Scanner pontos =new Scanner (System.in);

                do{

                    System.out.print("Pontuacao para A: ");
                    int votoa = pontos.nextInt();

                    System.out.print("Pontuacao para B: ");
                    int votob =pontos.nextInt();

                    System.out.print("Pontuacao para C: ");
                    int votoc = pontos.nextInt ();



                    /** Aplica as restricoes */


                    if(votoa>100 || votob>100 || votoc>100 || votoa+votob+votoc>100){
                        erro=true;

                        System.out.println("");
                        System.out.println ("A pontuacao que introduziu nao respeita as regras. Efectue nova votacao");
                        System.out.println("");

                    }

                    else {

                        somaA += votoa;
                        somaB += votob;
                        somaC += votoc;
                        erro=false;
                        System.out.println("");
                        System.out.println ("Obrigado pelo seu voto");

                        if (votoa>0 && votoa<=100 )
                            contadora ++;
                        if (votob>0 && votob<=100 )
                            contadorb ++;
                        if (votoc>0 && votoc<=100 )
                            contadorc ++;
                    }

                }while(erro);
            }



        /** Faz a media de cada uma das opcoes*/


        double mediaA = Math.round(((double) somaA/(double) contadora)*10.0)/10.0;
        double mediaB = Math.round(((double) somaB/(double) contadorb)*10.0)/10.0;
        double mediaC = Math.round(((double) somaC/(double) contadorc)*10.0)/10.0;



        /** Imprime no ecra o valor da pontuacao obtida por cada uma das opcoes e tambem a media*/


        System.out.println("");

        System.out.println("Pontuacao total de A = " +somaA );
        System.out.println("Media de A = " + mediaA);

        System.out.println("");

        System.out.println("Pontuacao total de B = " +somaB );
        System.out.println("Media de B = " + mediaB);

        System.out.println("");

        System.out.println("Pontuacao total de C = " +somaC);
        System.out.println("Media de C = " + mediaC);

    }

}

 

 

O problema esta ao compilar da 1 erro... public class Eleitor UAN {

 

 

Alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

public class Eleitor UAN {
 }

O problema esta ao compilar da 1 erro... public class Eleitor UAN {

 

Amigo,

 

Existe um erro de sintaxe ai.

 

1. Se UAN for uma classe que Eleitor derivará, você precisará utilizar a palavra chave extends para ter uma herança de classes.

import pacote.onde.esta.UAN;

public class Eleitor extends UAN {
	//...
}

2. Se UAN for uma interface que Eleitor implementará, você precisará utilizar a palavra chave implements e implementar todos os métodos de interface definidos pela interface.

import pacote.onde.esta.UAN;

public class Eleitor implements UAN {
	//...
}

3. Se UAN for uma generalização, você precisará colocar UAN entre os sinais de < e >.

public class Eleitor<UAN> {
	//...
}

Agora, se esse UAN for desnecessário como parece, basta removê-lo:

 

import java.util.Scanner;

public class Example {
	public static void main( String[] args ) {
		/**
		 * Le um valor introduzido pelo utilizador que vai definir o numero de
		 * eleitores
		 */

		Scanner numvotantes = new Scanner(System.in);
		int votantes = 0;

		do {

			System.out.print("Numero de eleitores: ");
			votantes = numvotantes.nextInt();

			if (votantes < 1)
				System.out.println("Numero de eleitores invalido. ");
			System.out.println("");

		} while (votantes < 1);

		int somaA = 0;
		int somaB = 0;
		int somaC = 0;
		int contadora = 0;
		int contadorb = 0;
		int contadorc = 0;
		boolean erro = false;

		/** Faz o scan das pontuacoes introduzidas pelo utilizador */

		for (int eleitor = 1; eleitor <= votantes; eleitor++) {

			System.out.println("");
			System.out
					.println("Eleitor "
							+ eleitor
							+ ", faca o favor de introduzir a pontuacao desejada. ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes ).");
			System.out.println("");

			Scanner pontos = new Scanner(System.in);

			do {

				System.out.print("Pontuacao para A: ");
				int votoa = pontos.nextInt();

				System.out.print("Pontuacao para B: ");
				int votob = pontos.nextInt();

				System.out.print("Pontuacao para C: ");
				int votoc = pontos.nextInt();

				/** Aplica as restricoes */

				if (votoa > 100 || votob > 100 || votoc > 100
						|| votoa + votob + votoc > 100) {
					erro = true;

					System.out.println("");
					System.out
							.println("A pontuacao que introduziu nao respeita as regras. Efectue nova votacao");
					System.out.println("");

				}

				else {

					somaA += votoa;
					somaB += votob;
					somaC += votoc;
					erro = false;
					System.out.println("");
					System.out.println("Obrigado pelo seu voto");

					if (votoa > 0 && votoa <= 100)
						contadora++;
					if (votob > 0 && votob <= 100)
						contadorb++;
					if (votoc > 0 && votoc <= 100)
						contadorc++;
				}

			} while (erro);
		}

		/** Faz a media de cada uma das opcoes */

		double mediaA = Math.round(((double) somaA / (double) contadora) * 10.0) / 10.0;
		double mediaB = Math.round(((double) somaB / (double) contadorb) * 10.0) / 10.0;
		double mediaC = Math.round(((double) somaC / (double) contadorc) * 10.0) / 10.0;

		/**
		 * Imprime no ecra o valor da pontuacao obtida por cada uma das opcoes e
		 * tambem a media
		 */

		System.out.println("");

		System.out.println("Pontuacao total de A = " + somaA);
		System.out.println("Media de A = " + mediaA);

		System.out.println("");

		System.out.println("Pontuacao total de B = " + somaB);
		System.out.println("Media de B = " + mediaB);

		System.out.println("");

		System.out.println("Pontuacao total de C = " + somaC);
		System.out.println("Media de C = " + mediaC);
	}
}

A saída:

Numero de eleitores: 3

 

 

Eleitor 1, faca o favor de introduzir a pontuacao desejada. ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes ).

 

Pontuacao para A: 10

Pontuacao para B: 20

Pontuacao para C: 30

 

Obrigado pelo seu voto

 

Eleitor 2, faca o favor de introduzir a pontuacao desejada. ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes ).

 

Pontuacao para A: 15

Pontuacao para B: 30

Pontuacao para C: 45

 

Obrigado pelo seu voto

 

Eleitor 3, faca o favor de introduzir a pontuacao desejada. ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes ).

 

Pontuacao para A: 20

Pontuacao para B: 40

Pontuacao para C: 60

 

A pontuacao que introduziu nao respeita as regras. Efectue nova votacao

 

Pontuacao para A: 20

Pontuacao para B: 40

Pontuacao para C: 40

 

Obrigado pelo seu voto

 

Pontuacao total de A = 45

Media de A = 15.0

 

Pontuacao total de B = 90

Media de B = 30.0

 

Pontuacao total de C = 115

Media de C = 38.3

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.