Para este trabalho você deve fazer o sistema de cadastro de um histórico.
Neste sistema deve ser possível que um usuário final:
OBS: a função de listar pode ser a mesma do relatório.
As funções podem ser demonstradas dentro de uma classe Teste
com um main
(Veja um exemplo de classe Teste
no final da página). Caso você não faça a interface com o usuário final você ganhará os pontos referentes à cada função mas não ganhará os pontos referentes à interface com o usuário final.
Você pode fazer uma interface com o usuário final através do terminal e/ou usando a biblioteca "Swing" (2pt).
OBS: É altamente recomendável que você faça o trabalho nesta ordem e garanta os pontos das partes que você fez. Para cada item feito atualize o Teste
para coontemplar este item.
Materia
A Materia
é uma entidade que tem
nome
, o nome da matéria;ano
, o ano em que foi ministrada.Notas
Cada Materia
possui 4 notas:
np1
, representa a nota da primeira prova;np2
, representa a nota da segunda prova;sub
, representa a nota da prova substitutiva;exame
, representa a nota do exame final;Para que um aluno seja aprova ele deve ter média final maior ou igual a 5.0
.
Para calcular a "média final" devemos calcular duas médias:
np1
, np2
, e sub
e calcular esta média. Se esta média for maior, ou igual, a 7.0
então está será a "média final".7.0
, deve-se calcular a média entre a "média anterior" e o exame, o resultado será a "média final".OBS: este cálculo da média não representa a mesma regra que a Unip usa.
Teste
public class Teste { public static void main(String[] args) { CadastroAbstract cadastro = new Cadastro(); cadastro.addRendimento(new Rendimento(new Materia("APOO", 2020), new Notas(7, 8, 0, 0))); cadastro.addRendimento(new Rendimento(new Materia("BPOO", 2020), new Notas(2, 2, 6, 10))); cadastro.addRendimento(new Rendimento(new Materia("CPOO", 2021), new Notas(2, 8, 8, 0))); cadastro.addRendimento(new Rendimento(new Materia("DPOO", 2021), new Notas(0, 1, 2, 3))); cadastro.fazRelatorio(); cadastro.imprimeMateriasDoAno(2019); cadastro.imprimeMateriasDoAno(2020); cadastro.imprimeMateriasDoAno(2021); cadastro.imprimeMateriasStatus(true); cadastro.imprimeMateriasStatus(false); } }
Esta classe abstrata serve apenas para servir de suporte ao exemplo de Teste
, você não precisa usar.
public abstract class CadastroAbstract { public abstract void addRendimento(Rendimento rendimento); public abstract void fazRelatorio(); public abstract void imprimeMateriasDoAno(int ano); public abstract void imprimeMateriasStatus(boolean isAprovado); }