Created
August 4, 2019 01:04
-
-
Save wagfim/1dfbadc7a9114303e63451acf9b9884f to your computer and use it in GitHub Desktop.
Elabore um programa para gerenciar o boletim escolar de um aluno. O boletim escolar deve conter 4 bimestres e as matérias de Português, Matemática e Algoritmos.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Scanner; | |
/** | |
* @author Wagner Bonfim | |
*/ | |
public class Questao7 { | |
public static void main(String[] args) { | |
Scanner leitor = new Scanner(System.in); | |
boolean rodaPrograma = true; | |
double[][] notasBimestrais = new double[3][4]; | |
String[] nomeMaterias = {"Português", "Matemática", "Algoritmos"}; | |
System.out.println("*************************"); | |
System.out.println("* *"); | |
System.out.println("* Boletim Escolar 1.0 *"); | |
System.out.println("* *"); | |
System.out.println("*************************"); | |
System.out.println(); | |
int quebraLinha = 0; | |
do { | |
if (quebraLinha++ > 0) System.out.println(); | |
System.out.println("Menu Principal"); | |
System.out.println("1. Inserir as notas bimestrais"); | |
System.out.println("2. Exibir Médias"); | |
System.out.println("3. Quanto o aluno precisa para passar de ano?"); | |
System.out.println("0. Sair"); | |
System.out.print("> "); | |
int opcao = Integer.parseInt(leitor.nextLine()); | |
switch (opcao) { | |
case 1: | |
notasBimestrais = escolherMateriaInserirNotas(notasBimestrais, nomeMaterias); | |
break; | |
case 2: | |
exibirMedias(notasBimestrais, nomeMaterias); | |
pressioneEnter(); | |
break; | |
case 3: | |
calcularNotaParaPassar(notasBimestrais, nomeMaterias); | |
pressioneEnter(); | |
break; | |
case 0: | |
rodaPrograma = false; | |
break; | |
default: | |
System.out.println("Opção inválida. Selecione o numero de uma das opções no menu acima."); | |
break; | |
} | |
} while (rodaPrograma); | |
} | |
public static double[][] escolherMateriaInserirNotas(double[][] notasBimestrais, String[] nomeMaterias) { | |
Scanner leitor = new Scanner(System.in); | |
System.out.println("Escolha uma das matérias abaixo:"); | |
System.out.println("1. " + nomeMaterias[0]); | |
System.out.println("2. " + nomeMaterias[1]); | |
System.out.println("3. " + nomeMaterias[2]); | |
System.out.println("0. Voltar ao Menu Principal."); | |
System.out.print("> "); | |
int opcao = Integer.parseInt(leitor.nextLine()); | |
switch (opcao) { | |
case 1: | |
notasBimestrais = inserirNotas(notasBimestrais, 0); | |
pressioneEnter(); | |
break; | |
case 2: | |
notasBimestrais = inserirNotas(notasBimestrais, 1); | |
pressioneEnter(); | |
break; | |
case 3: | |
notasBimestrais = inserirNotas(notasBimestrais, 2); | |
pressioneEnter(); | |
break; | |
case 0: | |
return notasBimestrais; | |
default: | |
System.out.println("Opção Inválida."); | |
break; | |
} | |
return notasBimestrais; | |
} | |
public static double[][] inserirNotas(double[][] notasBimestrais, int indiceMateria) { | |
Scanner leitor = new Scanner(System.in); | |
for (int i = 0; i < notasBimestrais[indiceMateria].length; i++) { | |
System.out.print("Informe a nota do " + (i + 1) + "º bimestre: "); | |
notasBimestrais[indiceMateria][i] = Double.parseDouble(leitor.nextLine()); | |
} | |
return notasBimestrais; | |
} | |
private static void exibirMedias(double[][] notasBimestrais, String[] nomeMaterias) { | |
for (int i = 0; i < notasBimestrais.length; i++) { | |
double media = calculaMedia(notasBimestrais, i); | |
System.out.print(nomeMaterias[i]+", média: "+media+" "); | |
if (media < 6.0) System.out.print("(ALUNO CORRE RISCO DE REPROVAR!)"); | |
System.out.println(); | |
} | |
} | |
private static double calculaMedia(double[][] notasBimestrais, int indiceMateria) { | |
double soma = 0.0; | |
for (int i = 0; i < notasBimestrais[indiceMateria].length; i++) { | |
soma += notasBimestrais[indiceMateria][i]; | |
} | |
return (double)soma/notasBimestrais[indiceMateria].length; | |
} | |
public static void pressioneEnter() { | |
Scanner leitor = new Scanner(System.in); | |
System.out.print("Pressione Enter para continuar..."); | |
leitor.nextLine(); | |
} | |
private static void calcularNotaParaPassar(double[][] notasBimestrais, String[] nomeMaterias) { | |
for (int i = 0; i < notasBimestrais.length; i++) { | |
double media = calculaMedia(notasBimestrais, i); | |
if (media < 6.0) | |
System.out.println(nomeMaterias[i]+", nota necessária: "+(10.0-media)); | |
else | |
System.out.println(nomeMaterias[i]+": Aprovado."); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment