0% acharam este documento útil (0 voto)
3 visualizações4 páginas

Sistema de Gestão de Alunos em Java

O documento apresenta um programa em Java para gerenciar alunos, permitindo cadastrar alunos, lançar notas, calcular médias e status, além de salvar e carregar dados de um arquivo. A classe 'Aluno' contém informações sobre cada aluno e métodos para calcular a média e o status de aprovação. O programa utiliza um menu interativo para facilitar a interação com o usuário.

Enviado por

tomcorrea53
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações4 páginas

Sistema de Gestão de Alunos em Java

O documento apresenta um programa em Java para gerenciar alunos, permitindo cadastrar alunos, lançar notas, calcular médias e status, além de salvar e carregar dados de um arquivo. A classe 'Aluno' contém informações sobre cada aluno e métodos para calcular a média e o status de aprovação. O programa utiliza um menu interativo para facilitar a interação com o usuário.

Enviado por

tomcorrea53
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

import [Link].

*;
import [Link].*;

public class Main {


static class Aluno {
String nome;
String matricula;
String professor;
double n1;
double n2Prova;
double n2Trabalho;
double n3;
double media;
String status;

public Aluno(String nome, String matricula, String professor) {


[Link] = nome;
[Link] = matricula;
[Link] = professor;
this.n1 = 0;
this.n2Prova = 0;
this.n2Trabalho = 0;
this.n3 = -1;
[Link] = 0;
[Link] = "Notas não lançadas";
}

public void calcularMedia() {


double n2 = (n2Prova + n2Trabalho) / 2;
[Link] = (n1 + n2) / 2;
if (media >= 6) {
status = "Aprovado";
} else if (media >= 4) {
status = "Prova Final";
} else {
status = "Reprovado";
}
}

public void calcularNotaFinalComN3() {


if (n3 >= 0) {
double finalMedia = (media + n3) / 2;
if (finalMedia >= 5) {
status = "Aprovado na N3";
} else {
status = "Reprovado na N3";
}
}
}

@Override
public String toString() {
return "Nome: " + nome +
"\nMatrícula: " + matricula +
"\nProfessor: " + professor +
"\nN1: " + n1 +
"\nN2 Prova: " + n2Prova +
"\nN2 Trabalho: " + n2Trabalho +
"\nN3: " + (n3 >= 0 ? n3 : "Não lançada") +
"\nMédia: " + [Link]("%.2f", media) +
"\nStatus: " + status + "\n";
}
}

static ArrayList<Aluno> alunos = new ArrayList<>();


static Scanner scanner = new Scanner([Link]);

public static void main(String[] args) {


int opcao;
do {
[Link]("\n===== MENU =====");
[Link]("1. Cadastrar aluno");
[Link]("2. Lançar notas");
[Link]("3. Lançar N3");
[Link]("4. Mostrar todos os alunos");
[Link]("5. Sair");
[Link]("6. Mostrar alunos reprovados");
[Link]("7. Salvar em arquivo");
[Link]("8. Carregar de arquivo");
[Link]("Escolha uma opção: ");
opcao = [Link]();
[Link]();

switch (opcao) {
case 1 -> cadastrarAluno();
case 2 -> lancarNotas();
case 3 -> lancarN3();
case 4 -> mostrarAlunos();
case 5 -> [Link]("Saindo do programa...");
case 6 -> mostrarReprovados();
case 7 -> salvarEmArquivo();
case 8 -> carregarDeArquivo();
default -> [Link]("Opção inválida!");
}
} while (opcao != 5);
}

static void cadastrarAluno() {


[Link]("Nome do aluno: ");
String nome = [Link]();
[Link]("Matrícula: ");
String matricula = [Link]();
[Link]("Nome do professor: ");
String professor = [Link]();
[Link](new Aluno(nome, matricula, professor));
[Link]("Aluno cadastrado com sucesso!");
}

static void lancarNotas() {


[Link]("Informe a matrícula do aluno: ");
String matricula = [Link]();
Aluno aluno = buscarAluno(matricula);
if (aluno != null) {
aluno.n1 = lerNotaValida("Nota N1: ");
aluno.n2Prova = lerNotaValida("Nota da prova N2: ");
aluno.n2Trabalho = lerNotaValida("Nota do trabalho N2: ");
[Link]();
[Link]("Notas lançadas e média calculada!");
} else {
[Link]("Aluno não encontrado.");
}
}

static void lancarN3() {


[Link]("Informe a matrícula do aluno para N3: ");
String matricula = [Link]();
Aluno aluno = buscarAluno(matricula);
if (aluno != null && [Link]("Prova Final")) {
aluno.n3 = lerNotaValida("Nota da N3: ");
aluno.calcularNotaFinalComN3();
[Link]("Nota N3 lançada e status atualizado!");
} else {
[Link]("Aluno não encontrado ou não precisa de N3.");
}
}

static void mostrarAlunos() {


if ([Link]()) {
[Link]("Nenhum aluno cadastrado.");
return;
}
for (Aluno aluno : alunos) {
[Link]("-------------------------");
[Link](aluno);
}
}

static void mostrarReprovados() {


boolean encontrou = false;
for (Aluno aluno : alunos) {
if ([Link]().contains("reprovado")) {
[Link]("-------------------------");
[Link](aluno);
encontrou = true;
}
}
if (!encontrou) {
[Link]("Nenhum aluno reprovado.");
}
}

static double lerNotaValida(String mensagem) {


double nota;
do {
[Link](mensagem);
nota = [Link]();
if (nota < 0 || nota > 10) {
[Link]("Nota inválida! Digite um valor entre 0 e 10.");
}
} while (nota < 0 || nota > 10);
return nota;
}

static Aluno buscarAluno(String matricula) {


for (Aluno aluno : alunos) {
if ([Link](matricula)) {
return aluno;
}
}
return null;
}

static void salvarEmArquivo() {


try (PrintWriter writer = new PrintWriter(new FileWriter("[Link]"))) {
for (Aluno aluno : alunos) {
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
[Link](aluno.n1);
[Link](aluno.n2Prova);
[Link](aluno.n2Trabalho);
[Link](aluno.n3);
[Link]([Link]);
[Link]([Link]);
}
[Link]("Dados salvos com sucesso!");
} catch (IOException e) {
[Link]("Erro ao salvar: " + [Link]());
}
}

static void carregarDeArquivo() {


try (BufferedReader reader = new BufferedReader(new
FileReader("[Link]"))) {
[Link]();
String linha;
while ((linha = [Link]()) != null) {
String nome = linha;
String matricula = [Link]();
String professor = [Link]();
double n1 = [Link]([Link]());
double n2Prova = [Link]([Link]());
double n2Trabalho = [Link]([Link]());
double n3 = [Link]([Link]());
double media = [Link]([Link]());
String status = [Link]();
Aluno aluno = new Aluno(nome, matricula, professor);
aluno.n1 = n1;
aluno.n2Prova = n2Prova;
aluno.n2Trabalho = n2Trabalho;
aluno.n3 = n3;
[Link] = media;
[Link] = status;
[Link](aluno);
}
[Link]("Dados carregados com sucesso!");
} catch (IOException e) {
[Link]("Erro ao carregar: " + [Link]());
}
}
}

Você também pode gostar