Olá pessoas, boa tarde! Estou com um projetinho em java, fiz uns códigos mas estou enrolada…se vocês puderem me auxiliar na implementação, agradçeo muito!
Objetivo: gerenciar as notas de alunos em diversas disciplina de um curso
Entidades básicas: aluno, disciplina, curso, nota
Funcionalidades:
?Cadastrar Aluno (nome, código)
?Cadastrar Curso (nome, código, tipo)
?Cadastrar Disciplinas do Curso (nome, código, carga horaria, créditos)
Até aqui eu criei as 3 classes (Aluno, Curso e Disciplina).
?Cadastrar Disciplina cursada pelo Aluno(com status: aprovado ou reprovado, médiafinal)
?Para cada disciplina cadastrada para o Aluno, cadastrar as Notas 1, 2, 3 , Reposiçãoe Final
?Calcular média para todas as disciplinas cadastradas
?Calcular Coeficiente de Rendimentoseguindo a fórmula Coeficiente = Somatório (média disciplina * crédito disciplina) / somatório (créditos)
Onde (em que classe??) colocar os códigos de cálculo (soma, média) ??
?Gerar lista de alunos (deve conter nome, código, créditos cursados e coeficiente de rendimento)
?Gerar lista de disciplinas cursadas
?Cruzar disciplina cursadas do aluno em que esteja aprovado com disciplinas do curso e verificar quais disciplinas ainda devem ser cursadas pelo aluno para completar o curso.
[Por favor, me ajudem!]
Meus códigos:
Classe Aluno:
public class Aluno {
//Atributos
private static final int MAXDISCIPLINAS = 8;
private String nome;
private int codigo;
private ArrayList<Disciplina> disciplinas;
//Construtores
public Aluno (String nome, int codigo){
this.nome=nome;
this.codigo=codigo;
// Instanciando vetor com 8 disciplinas para cada aluno
this.disciplinas = new ArrayList<Disciplina>();
}
// Metodos get e set
public void setNome(String nome){
this.nome=nome;
}
public String getNome(){
return nome;
}
public void setCodigo(int codigo){
this.codigo=codigo;
}
public int getCodigo(){
return codigo;
}
public Disciplina getDisciplina(int i) {
return disciplinas.get(i);
}
// Cadastrar disciplina cursada pelo aluno
public boolean cadastrarDisciplina(Disciplina disciplina){
// Condicao de existência
if (this.disciplinas.size() < this.MAXDISCIPLINAS){
this.disciplinas.add(disciplina);
return true;
}
return false;
}
// Listar disciplinas
public void listarDisciplinas (){
for (int i=0; i<this.disciplinas.size(); i++)
System.out.println("Disciplina " + (i+1) + ": " + this.disciplinas.get(i).getNome());
}
public void alterarNota(int codDisciplina, float novaNota){
int index=0;
for(int i=0; i<this.disciplinas.size(); i++) // i vai aumentar até o nome da disciplina se o que se quer
if(this.disciplinas.get(i).getCodigo()==codDiscipl ina){
index=i;
break;
}
this.disciplinas.get(index).setNotaAluno(novaNota) ; //retorna a disciplina
}
}
Classe Curso:
import java.util.ArrayList;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Usuário
*/
public class Curso {
//Atributos
private String nome;
private int codigo;
private String tipo;
private ArrayList<Disciplina> disciplinas;
public Curso(String nome, int codigo, String tipo){
this.nome=nome;
this.codigo=codigo;
this.tipo=tipo;
this.disciplinas = new ArrayList<Disciplina>();
}
// Métodos get e set
public void setNome(String nome){
this.nome=nome;
}
public String getNome(){
return nome;
}
public void setCodigo(int codigo){
this.codigo=codigo;
}
public int getCodigo(){
return codigo;
}
public void setTipo(String tipo){
this.tipo=tipo;
}
public String getTipo(){
return tipo;
}
public void addDisciplina(Disciplina disciplina){
this.disciplinas.add(disciplina);
}
public Disciplina getDisciplina(int codDisciplina){
int index=0;
for(int i=0; i<this.disciplinas.size(); i++) // i vai aumentar até o nome da disciplina se o que se quer
if(this.disciplinas.get(i).getCodigo()==codDiscipl ina){
index=i;
break;
}
return this.disciplinas.get(index); //retorna a disciplina
}
}
Classe Disciplina:
import java.util.Scanner;
public class Disciplina {
//Atributos
private String nome;
private int codigo;
private int cargaHoraria;
private int creditos;
private float notaAluno;
//Construtores
public Disciplina (String nome){
this.nome=nome;
}
public Disciplina(Disciplina disciplina){//para quando for atribuída à um aluno
this.nome=disciplina.getNome();
this.codigo=disciplina.getCodigo();
this.cargaHoraria=disciplina.getCargaHoraria();
this.creditos=disciplina.getCreditos();
this.notaAluno=0;
}
public Disciplina (String nome, int codigo, int cargaHoraria, int creditos){
this.nome=nome;
this.codigo=codigo;
this.cargaHoraria=cargaHoraria;
this.creditos = creditos;
}
// Metodos get e set
public void setNome(String nome){
this.nome=nome;
}
public String getNome(){
return nome;
}
public void setCodigo(int codigo){
this.codigo=codigo;
}
public int getCodigo(){
return codigo;
}
public void setCargaHoraria(int cargaHoraria){
this.cargaHoraria=cargaHoraria;
}
public int getCargaHoraria(){
return cargaHoraria;
}
public void setCreditos(int creditos){
this.creditos=creditos;
}
public int getCreditos(){
return creditos;
}
public float getNotaAluno() {
return notaAluno;
}
public void setNotaAluno(float notaAluno) {
this.notaAluno = notaAluno;
}
}
Classe Main:
public class Main {
public static void main (String []args){
//instanciando um aluno que possui nome e codigo
Curso curso = new Curso("Bobeiras Bobas",1,"Ensino Médio");
curso.addDisciplina(new Disciplina("Química", 1, 420, 5));
curso.addDisciplina(new Disciplina("Física", 2, 420, 5));
Aluno aluno = new Aluno ("Paula", 1);
// ler parametro de entrada
java.util.Scanner entrada = new java.util.Scanner (System.in);
if (aluno.cadastrarDisciplina(curso.getDisciplina(1)) ) //ou entrada.next()
System.out.println("Cadastrado com sucesso");
else
System.out.println("Erro ao cadastrar");
if (aluno.cadastrarDisciplina(curso.getDisciplina(2)) )
System.out.println("Cadastrado com sucesso");
else
System.out.println("Erro ao cadastrar");
aluno.listarDisciplinas();
}
}
Classe Nota:
public class Nota {
float nota1;
float nota2;
float nota3;
float media;
public float getNota1() {
return nota1;
}
public void setNota1(float nota1) {
this.nota1 = nota1;
}
public float getNota2() {
return nota2;
}
public void setNota2(float nota2) {
this.nota2 = nota2;
}
public float getNota3() {
return nota3;
}
public void setNota3(float nota3) {
this.nota3 = nota3;
}
public float getMedia() {
return media;
}
public void setMedia(float media) {
this.media = media;
}
}
Esses foram os códigos que consegui fazer até agora, uso o NetBeans, se puderem me ajudar a finalizá-lo, estou tento dificuldades, pois sou iniciante. Abraços.