/* Notas    03-04-2001 Ana Cláudia Scachetti FEA-Unicamp */

import java.applet.*;
import java.awt.*;
import java.text.*;
import java.awt.event.*;

public class Notas extends Applet implements ActionListener
    {
         NumberFormat nf1 = NumberFormat.getNumberInstance();

         Button button = new Button("Calculo");

         //n1 Primeiro teste
         TextField tf11 = new TextField("7");
         TextField tf12 = new TextField("7");
         TextField tf13 = new TextField("7");

         //n2 Primeira prova
         TextField tf21 = new TextField("7");
         TextField tf22 = new TextField("7");
         TextField tf23 = new TextField("7");

         //n3 Desempenho nas aulas
         TextField tf31 = new TextField("10");
         TextField tf32 = new TextField("7.5");
         TextField tf33 = new TextField("5.0");

         //n4 Projeto
         TextField tf41 = new TextField("7");
         TextField tf42 = new TextField("7");
         TextField tf43 = new TextField("7");

         //n5 prova geral
         TextField tf51 = new TextField("0");
         TextField tf52 = new TextField("0");
         TextField tf53 = new TextField("0");
 
         //n6 exame
        TextField tf61 = new TextField("0");
        TextField tf62 = new TextField("0");
        TextField tf63 = new TextField("0");
 
        //nd nota da disciplina
        TextField tf71 = new TextField("");
        TextField tf72 = new TextField("");
        TextField tf73 = new TextField("");
 
        double n101,n201,n301,n401,n501,n601,nd01,
                    n102,n202,n302,n402,n502,n602,nd02,
                    n103,n203,n303,n403,n503,n603,nd03;
 
         // Metodo de calculo da nota da disciplina
         double nota(double n1,double n2,double n3,double n4,double n5,double n6)
         {
              double mediasimples=(((n1+n2)/2)+n3+n4)/3;
              double prova =n5;
              double mediacomprova =((mediasimples+prova)/2);
              double exame =n6;
              double mediafinal = ((mediacomprova+exame)/2);
              if (mediasimples>=7)   return(mediasimples);
              else if (mediacomprova>=5)  return(mediacomprova);
              else return(mediafinal);
         }
 
         public void init()
        {
              setLayout(new GridLayout(5,9));
 
              nf1.setMaximumFractionDigits(1);
 
              tf31.setBackground(Color.yellow);
              tf32.setBackground(Color.yellow);
              tf33.setBackground(Color.yellow);
 
              tf71.setEditable(false);tf71.setBackground(Color.yellow);
              tf72.setEditable(false);tf72.setBackground(Color.yellow);
              tf73.setEditable(false);tf73.setBackground(Color.yellow);
 
              add(new Label("Nome",Label.CENTER));
              add(new Label("Freq.",Label.CENTER));
              add(new Label("Teste",Label.CENTER));
              add(new Label("Prova",Label.CENTER));
              add(new Label("N. Aula",Label.CENTER));
              add(new Label("Projeto",Label.CENTER));
              add(new Label("P. Geral",Label.CENTER));
              add(new Label("Exame",Label.CENTER));
              add(new Label("Nota",Label.CENTER));
 
              add(new Label("Rita",Label.LEFT));
              add(new Label("4p 0F",Label.LEFT));
              add(tf11);add(tf21);add(tf31);add(tf41);
              add(tf51);add(tf61);add(tf71);
 
              add(new Label("Ana",Label.LEFT));
              add(new Label("3p 1F",Label.LEFT));
              add(tf12);add(tf22);add(tf32);add(tf42);
              add(tf52);add(tf62);add(tf72);
 
              add(new Label("Paula",Label.LEFT));
              add(new Label("2p 2F",Label.LEFT));
              add(tf13);add(tf23);add(tf33);add(tf43);
              add(tf53);add(tf63);add(tf73);

              add(new Label()); add(new Label()); add(new Label());
              add(new Label()); add(new Label());
              add(button); button.addActionListener(this);
              add(new Label()); add(new Label()); add(new Label());
        }

         public void actionPerformed(ActionEvent evt)
         {
              if (evt.getSource() == button)
              {
                   n101 = Double.valueOf(tf11.getText()).doubleValue();//teste1
                   n201 = Double.valueOf(tf21.getText()).doubleValue();//prova1
                   n301 = Double.valueOf(tf31.getText()).doubleValue();//desempenho
                   n401 = Double.valueOf(tf41.getText()).doubleValue();//projeto
                   n501 = Double.valueOf(tf51.getText()).doubleValue();//provageral
                   n601 = Double.valueOf(tf61.getText()).doubleValue();//exame
 
                   n102 = Double.valueOf(tf12.getText()).doubleValue();//teste1
                   n202 = Double.valueOf(tf22.getText()).doubleValue();//prova1
                   n302 = Double.valueOf(tf32.getText()).doubleValue();//desempenho
                   n402 = Double.valueOf(tf42.getText()).doubleValue();//projeto
                   n502 = Double.valueOf(tf52.getText()).doubleValue();//provageral
                   n602 = Double.valueOf(tf62.getText()).doubleValue();//exame
 
                   n103 = Double.valueOf(tf13.getText()).doubleValue();//teste1
                   n203 = Double.valueOf(tf23.getText()).doubleValue();//prova1
                   n303 = Double.valueOf(tf33.getText()).doubleValue();//desempenho
                   n403 = Double.valueOf(tf43.getText()).doubleValue();//projeto
                   n503 = Double.valueOf(tf53.getText()).doubleValue();//provageral
                   n603 = Double.valueOf(tf63.getText()).doubleValue();//exame
 
                   // calculos
                   nd01 = nota(n101,n201,n301,n401,n501,n601);
                   nd02 = nota(n102,n202,n302,n402,n502,n602);
                   nd03 = nota(n103,n203,n303,n403,n503,n603);
 
                   // coloca numeros como texto na caixa do resultado
                   tf71.setText(String.valueOf(nf1.format(nd01)));
                   tf72.setText(String.valueOf(nf1.format(nd02)));
                   tf73.setText(String.valueOf(nf1.format(nd03)));
            }
     }
}