Atv6(1)
Atv6(1)
Scanner;
/*6. Elabore um programa que: receba a idade de oito alunos e armazene-as em um
vetor; armazene o código de cinco disciplinas em
outro vetor; armazene em uma matriz a quantidade de provas que cada aluno fez em
cada disciplina. O programa deverá calcular e mostrar:
a quantidade de alunos com idade entre 18 e 25 anos que fizeram mais de duas provas
em determinada disciplina cujo código é digitado
pelo usuário. O usuário poderá digitar um código não cadastrado; nesse caso, o
programa deverá mostrar uma mensagem de erro;
uma listagem contendo o código dos alunos que fizeram menos que três provas em
determinada disciplina, seguido do código da disciplina;
a média de idade dos alunos que não fizeram nenhuma prova em alguma disciplina.
Cuidado para não contar duas vezes o mesmo aluno. */
public class Atv6 {
public static void main(String[] args) {
Scanner leia = new Scanner(System.in);
int[] idade = new int[8];
int[] disciplina = new int[5];
int[][] provas = new int[8][5];
gerarLeitura(leia,idade, disciplina, provas);
}
public static void gerarLeitura(Scanner leia,int[] idade, int[] disciplina,
int[][] provas){
}
for (int i = 0; i < disciplina.length; i = i + 1) {
System.out.print("\nDigite o codigo da disciplina: ");
disciplina[i] = leia.nextInt();
}
for (int i = 0; i < provas.length; i = i + 1) {
for (int j = 0; j < provas[0].length; j = j + 1) {
System.out.print("\nQuantidade de de provas feito pelo "+(i+1)+"º
aluno na disciplina número "+disciplina[j]+": ");
provas[i][j] = leia.nextInt();
}
}
while(escolha == 0){
System.out.print ("\nDigite o código da disciplina que você quer
conferir: ");
opcao = leia.nextInt();
gerarConferir(cont, opcao, disciplina, provas, idade, quant, escolha,
leia);
System.out.println("\nQuer ver em outra disciplina: "+"\nSIM = 0;"+"\
nNÃO = 1;"+"\nSua escolha: ");
escolha = leia.nextInt();
if(escolha > 1){
System.out.println("\nEscolha não existente, tente novamente: ");
System.out.print("\nQuer ver em outra disciplina: "+"\nNÃO = 1;"+"\
nSIM = 0;"+"\nSua escolha: ");
escolha = leia.nextInt();
}
}
gerarM3(idade, provas, disciplina);
geraMedia(idade, provas, disciplina);
}
public static void gerarConferir(int cont , int opcao, int[] disciplina, int[]
[] provas, int[] idade, int quant, int escolha, Scanner leia){
cont = 0;
for (int i = 0; i < disciplina.length; i = i + 1) {
if(opcao == disciplina[i]){
cont = cont + 1;
}
}
if(cont > 0){
System.out.println("\nDisciplina cadastrada.");
gerarQuant(opcao, idade, provas, quant, disciplina);
opcao = 0;
}
if(cont == 0){
System.out.println("\nCódigo de disciplina não existente.");
}
}
public static void gerarQuant(int opcao,int[] idade, int[][] provas, int quant,
int[] disciplina){
//a quantidade de alunos com idade entre 18 e 25 anos que fizeram mais de
duas provas em determinada disciplina cujo código é digitado
//pelo usuário
for (int i = 0; i < idade.length; i = i + 1) {
for (int j = 0; j < provas[0].length; j = j + 1) {
if(idade[i] > 18 && idade[i] < 25){
if(provas[i][j] > 2 && disciplina[j] == opcao){
quant = quant + 1;
}
}
}
}
System.out.println("A quantidade de alunos com idade entre 18 e 25 que
fizeram mais de duas provas na disciplina "+(opcao)+" é: "+quant);
}
public static void gerarM3(int[] idade, int[][] provas,int[] disciplina){
//uma listagem contendo o código dos alunos que fizeram menos que três
provas em determinada disciplina, seguido do código da disciplina;
for (int i = 0; i < idade.length; i = i + 1) {
for (int j = 0; j < provas[0].length; j = j + 1) {
if(provas[i][j] < 3){
System.out.println("\nO "+(i+1)+"º aluno não fez mais que três
provas na disciplina "+disciplina[j]);
}
}
}
}
public static void geraMedia(int[] idade, int[][] provas, int[] disciplina){
//a média de idade dos alunos que não fizeram nenhuma prova em alguma
disciplina. Cuidado para não contar duas vezes o mesmo aluno.
int media = 0;
int cont = 0;
for (int i = 0; i < idade.length; i = i + 1) {
for (int j = 0; j < provas[0].length; j = j + 1) {
if(provas[i][j] == 0){
if(cont != idade[i]){
cont = cont + idade[i];
}
}
}
}
media = cont / idade.length;
System.out.println("A média de idade daqueles que não fizeram nenhuma prova
em alguna disciplina é: "+media);
}
}