diff --git a/Dados.java b/Dados.java index f15ff5a..66b617a 100644 --- a/Dados.java +++ b/Dados.java @@ -164,7 +164,7 @@ public class Dados { String relatorio = ""; for (int i = 0; i < acompanhamentos.length; i++){ - if (acompanhamentos[i].getRiscoLabel().equals("ALTO")){ + if (acompanhamentos[i].getRiscoPedagogico() >= 6.6){ relatorio = relatorio.concat(acompanhamentos[i].getAluno().getNome() + ": Risco ALTO\n"); } } @@ -241,6 +241,10 @@ public class Dados { return chamada; } + public String getChamada(){ + return chamada; + } + public double coursePercent(String curso){ if (alunos.length == 0) {return -1;} diff --git a/Erro.java b/Erro.java index 1ad82ac..ae628a8 100644 --- a/Erro.java +++ b/Erro.java @@ -1,5 +1,5 @@ public class Erro { - public static final String E0 = "Erro: Um erro inesperado ocorreu."; + public static final String E0 = "Erro: Um erro inesperado ocorreu: "; public static final String E1 = "Erro: Opcao do menu invalida."; public static final String E2 = "Erro: Aluno nao encontrado."; public static final String E3 = "Erro: Ja existe um aluno com esse nome."; diff --git a/Gerenciador.java b/Gerenciador.java index 51e9f59..e333ddb 100644 --- a/Gerenciador.java +++ b/Gerenciador.java @@ -12,35 +12,35 @@ public class Gerenciador { String nome = "", local = "", curso = "", matricula = ""; int idade = 0, semestre = 0, ano = 0; - while (nome.length() == 0){ + while (nome.length() == 0){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira o nome do aluno:"); nome = input.nextLine();} - while (local.length() == 0){ + while (local.length() == 0){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira o local de nascimento do aluno:"); local = input.nextLine();} - while (curso.length() == 0){ + while (curso.length() == 0){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira o curso do aluno:"); curso = input.nextLine();} - while (matricula.length() == 0){ + while (matricula.length() == 0){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira a matricula do aluno:"); matricula = input.nextLine();} - while (idade == 0 ){ + while (idade == 0 ){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira a idade do aluno:"); idade = input.nextInt(); input.nextLine(); //buffer clear if (idade < 0) {return Erro.E11;}} - while (semestre == 0){ + while (semestre == 0){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira o semestre do aluno:"); semestre = input.nextInt(); input.nextLine(); //buffer clear if (semestre < 0) {return Erro.E11;}} - while (ano == 0){ + while (ano == 0){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira o ano do aluno:"); ano = input.nextInt(); input.nextLine(); //buffer clear @@ -72,11 +72,11 @@ public class Gerenciador { if (aluno == null) {return Erro.E2;} } - while (projeto.length() == 0){ + while (projeto.length() == 0){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira o nome do projeto:"); projeto = input.nextLine();} - while (orientador.length() == 0){ + while (orientador.length() == 0){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira o nome do orientador:"); orientador = input.nextLine();} @@ -113,7 +113,7 @@ public class Gerenciador { input.nextLine(); //buffer clear if (semajuda < 0) {return Erro.E11;} - System.out.println("Insira a quanntidade de atividades entregues que utilizaram estruturas não estudadas:"); + System.out.println("Insira a quantidade de atividades entregues que utilizaram estruturas não estudadas:"); int naoestudadas = input.nextInt(); input.nextLine(); //buffer clear if (naoestudadas < 0) {return Erro.E11;} @@ -146,7 +146,7 @@ public class Gerenciador { public String percentualAlunos() { String curso = ""; - while (curso.length() == 0){ + while (curso.length() == 0){// Repete a pergunta até que uma resposta seja digitada System.out.println("Insira um curso:"); curso = input.nextLine(); } @@ -165,7 +165,7 @@ public class Gerenciador { public String criarChamada() { this.dados.makeChamada(); - if (chamada().length() == 0) {return Erro.E5;} + if (this.dados.getChamada().length() == 0) {return Erro.E5;} return "Chamada criada com sucesso."; } diff --git a/Menu.java b/Menu.java index 2aa8e57..963703a 100644 --- a/Menu.java +++ b/Menu.java @@ -17,8 +17,8 @@ public class Menu { System.out.println( "\fEscolha uma opcao:" + "\n" + "1 - Cadastro de Aluno" + "\n" + - "2 - Cadastro de Bolsisa " + "\n" + - "3 - Regisrar dados de acompanhamento" + "\n" + + "2 - Cadastro de Bolsista " + "\n" + + "3 - Registrar dados de acompanhamento" + "\n" + "4 - Listar alunos" + "\n" + "5 - Listar alunos bolsistas" + "\n" + "6 - Nome mais longo de alunos cadastrados" + "\n" + @@ -38,8 +38,7 @@ public class Menu { try { result = prompt(input.nextInt()); } catch(Exception e) { - System.out.println("\f"+ Erro.E0); - System.exit(-1); + result = "\f"+ Erro.E0 + e; } } } diff --git a/README.md b/README.md deleted file mode 100644 index 5c9c59d..0000000 --- a/README.md +++ /dev/null @@ -1,134 +0,0 @@ -# Trabalho final de fundamentos - ---- - -TITULO DO PROJETO: TF - -PROPOSITO DO PROJETO: A partir da escolha do usuario, o programa executa o metodo respectivo da escolha, com o projeto sendo um conjunto de metodos que conversam entre si, fundalmentalmente passando pela classe Gerenciador e sendo executados no Menu, esse sendo onde o método main se encontra. - -COMO COMECAR O PROJETO: Inicialize o projeto clicando com o botao direito na classe Menu e selecionando o metodo main. - -AUTORES: Caio Persch Espindola (26102478), Gabriel Franco (26102988), Arthur Dietrich de Morais (26106328) - ---- - -INSTRUCOES PARA USUARIO: - Esscolha uma opção do menu digitando o numero correspondente: - - 1 - Cadastrar um aluno - 2 - Cadastrar um bolsista - 3 - Registrar dados de acompanhamento - 4 - Listar alunos - 5 - Listar bolsistas - 6 - Aluno com maior nome - 7 - Total de vogais - 8 - Calcular percentual dos alunos - 9 - Calcular media de idade dos alunos - 10 - Criar/Atualizar lista de chamada - 11 - Lista de chamada - 12 - Calculo do risco pedagogico - 13 - Relatorio geral do risco pedagogico - 14 - Mostrar alunos em alto risco - 15 - Ranking - 16 - Encerrar o programa - - Ao inserir qual das 16 ações possiveis o usuario deseja realizar, os metodos apropriados são chamados, das classes Acompanhamento ou Aluno. Depois, o programa retornara para o menu, ate o usuario escolher sair. - Voce pode criar quantos Alunos, Bolsistas, Listas, etc, que voce desejar sem precisar reiniciar o programa. - ---- - -COMO O PROGRAMA FUNCIONA: - - O sistema é constituido por 8 classes: Pessoa, Aluno, Bolsista, Acompanhamento, Dados, Erro, Gerenciador e Menu. O método main se localiza na classe Menu e, quando chamado, passa a receber informações do usuário por meio de um loop while e um switch case. - Apos o input do usuario um dos metodos sera "rodado". - - Explicação das classes: - Pessoa: É apenas uma classe básica de pessoa, contendo os atributos nome, idade e local de nascimento. - - Aluno: É a classe base da criação de um aluno, contendo os atributos Pessoa, curso, matricula, semestre, ano e bolsista. - - Bolsista: É a classe base da criação de um bolsista, contendo os atributos Aluno, projeto e orientador. - - Acompanhamento: É a classe onde os metodos do cálculo de risco pedagógico estão, contendo também um método de ".getRiscoLabel" que retorna a classificação dos alunos entre os riscos de ALTO, MODERADO ou BAIXO. - - Dados: É a classe onde occorem as intanciações de vetores de objetos, também contendo alguns dos métodos - - Gerenciador: A classe contendo alguns dos métodos principais, também servindo de intermediário entre as classes Dados e Menu. - - Erro: Classe contendo mensagens de erros diversos que podem ocorrer durante a execução do programa. - - Menu: A classe que contem o menu de seleção interativo com todos os métodos, também sendo a classe que tem o método main. - - COMPOSIÇÃO DAS CLASSES: - - Pessoa: A classe Pessoa é a classe base, sendo só instanciada em Aluno. - Aluno: A classe Aluno instancia "Pessoa" como atributo. - Bolsista: A classe Bolsista intancia "Aluno" como atributo. - Acompanhamento: A classe Acompanhamento instancia "Aluno" como atributo. - - RISCOS PEDAGOGICOS: - - O método escolhido de como definir o risco pedagógico foi de calcular a média aritmética entre as porcentagens de atividades feitas com IA, não explicadas, feitas com ajuda, e que utilizam funcionalidades não estudadas; sendo os dados utilizados para os cálculos originados da classe Acompanhamento, que possui uma instancia da classe Aluno e várias variáveis que representam os diferentes tipos de atividades entregues. - ---- - -VERSION CONTROL: - -1.0 - Feito pelos 3 membros juntos. - Cada um fez uma parte inicial do projeto. - -2.0 - Gabriel fez a classe Gerenciador. - Caio fez a classe Dados. - Arthur fez a classe Menu. - -3.0 - Caio fez a classe Erros. - Diversas correções foram feitas. - -4.0 - Revisão final e consenso de finalização do trabalho por todos os membros. - ---- - -REFERENCIAS: - - Não utilizamos referencias durante a produção do trabalho. - - -RELATORIO: - - Conceitos apredidos durante o andamento de todo o semestre foram muito reforcados, principalmente sobre vetores de objetos e como compor uma classe com outra. - - Não foram utilizadas nenhuma ferramenta de IA durante a produção do trabalho. - - Não tivemos nenhuma dificuldade grande, e os questionamentos que surgiram durante a programação foram discutidas por todos entre o grupo, chegando em um consenso e aplicando nossas ideias. - - - - - - - - - - - - - - - - - - - - - - - - - - - -----