AGRADECIMENTO...

Pessoal, Gostaria de pedir desculpas aqueles que deixam perguntas/comentários/elogios/críticas e ainda não foram respondidos.

Aproveito a oportunidade para informar a todos que devido a correria do dia a dia não conclui o curso de BSI, por isso meus conhecimentos são limitados rsrsrs...

Ainda não retirei o blog do ar porque tem ajudado a diversos estudantes, principalmente os iniciantes.

As vezes, quando o trabalho me permite, ainda arrisco tentar resolver algumas questões rs... mas para não deixar esse blog parar no tempo, o ESTUDANTE que quiser enviar a resolução de alguma questão (código próprio) para o meu e-mail, terei o prazer de posta-la neste blog e será mantido a autoria.

Desde já agradeço a todos pelas visitas e desejo bons estudos.

Thiago Campos
(srthiago@hotmail.com)

sábado, 15 de dezembro de 2012

Cálculo da média na UNI-RN - Código Java


Trata-se de um código que realiza o cálculo da média das notas e informa se o aluno passou ou não segundo os critérios da UNI-RN - envolve Média Ponderada e Média Aritmética. Este programa verifica se o aluno passou ou ficou em recuperação, quanto precisa tirar na recuperação e qual será sua média final conforme a nota tirada na recuperação.



//Autor: Thiago Campos
//Data: 12.12.2012

package main; //pacote no qual pertence esta classe

import javax.swing.JOptionPane;
import java.text.DecimalFormat; //responsavel por formatar a qtd de casas decimais
import dominio.Calculos;

public class FimDeSemestre {
    public static void main(String[] args){
        //declaração de variaveis
        int op;
        double n1, n2;
        Calculos mP = new Calculos();
        double resultado;
     
        DecimalFormat df = new DecimalFormat("0.##"); //instancio o formato
     
     
     
        //escolha da opção
        do {
            op = Integer.parseInt(JOptionPane.showInputDialog("MENU DE OPÇÕES"
                    + "\n1-Saber a situação"
                    + "\n2-Saiba sua média final com a nota de recuperação"
                    + "\n3-Sair"));
            switch (op) {
                case 1: //entrada das notas
                    n1 = Double.parseDouble(JOptionPane.showInputDialog("Informe a 1ª nota(Use o ponto no lugar da vírgula):"));
                    n2 = Double.parseDouble(JOptionPane.showInputDialog("Informe a 2ª nota(Use o ponto no lugar da vírgula):"));

                    resultado = mP.mediaPonderada(n1, n2);
                 
                    if (resultado >= 7) { //media ponderada maior - igual a 7 - aluno Aprovado
                        JOptionPane.showMessageDialog(null, "Parabéns, você está aprovado!");
                    } else {
                        if (resultado < 3) { //media ponderada menor do que 3 - aluno reprovado
                            JOptionPane.showMessageDialog(null, "Você está reprovado!");
                        } else {
                            JOptionPane.showMessageDialog(null, "Você ficou em recuperação,"
                                    + "\n Sua média é: " + df.format(mP.mediaPonderada(n1, n2))
                                    + "\n Você precisa tirar " + df.format(mP.qtoPrecisa()) + " na recuperação para passar com média 5,0");
                        }
                    }
                    break; //fim do menu == a 1
                case 2: //Esta opção informará ao aluno qual será a média final dele com a nota de recuperação
                    double nRec = Double.parseDouble(JOptionPane.showInputDialog("Informe a nota de recuperação."));
                    JOptionPane.showMessageDialog(null, "A media final é " + mP.mediaFinal(nRec));
                    break;
                case 3:
                    JOptionPane.showMessageDialog(null, "Fechando o programa!");
                    break;
                default:
                    JOptionPane.showMessageDialog(null, "Opção inválida!");
            }
        } while (op != 3);
    } //fim do main
 
} //fim da classe



/*---------------------------------------------------------------------------------------------------
 * Esta classe possui todos os cálculos do programa
 ---------------------------------------------------------------------------------------------------*/
package dominio;

public class Calculos {
    private double mP;
    private double mF;
 
    //calculo da media ponderada
    public double mediaPonderada (double n1, double n2){
        return mP = ((n1*4) + (n2*6))/10;
    }
 
    //calculo da media aritmética
    public double mediaFinal(double nR){
        return mF = (mP+nR)/2;
    }
 
    //calculo da nota que precisa tirar para passar com média 5
    public double qtoPrecisa(){
        return (10 - mP);
    }
 
} //fim da classe

2 comentários:

  1. tentei copiar seu código para o eclipse,mas ha muitos erros, se puder upar de uma forma mais legível,agradeço.

    ResponderExcluir
    Respostas
    1. Sr. Anônimo não há erros no código, ocorre que ele foi feito no Netbeans e para rodar no Eclipse, não é só copiar e colar, vc precisa criar as classes com os mesmos nomes copiar e colar o código correspondente. Espero ter ajudado. boa noite!

      Excluir