Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Aneliro

[Resolvido] Algoritmo em matriz

Recommended Posts

Olá, por favor gostaria de ajuda com este Algoritmo em matriz, pois não sei como calcular a média de todos os alunos nem mostrar os nomes

 

Problema: Desenvolver um aplicativo escolar para gerenciar alunos. O softwere deve guardar o nome do aluno, nome da disciplina, nota das 4 primeiras unidades e a media dessas notas. Cada sala de aula pode conter no maximo 10 alunos. O softwere deve mostrar o nome de todos os alunos de uma sala com as respectivas notas em uma disciplina e sua media. Se a média for inferior a 7, mostrar a mensagem "Reprovado" caso contrário "Aprovado"

 

A implementação em java é no netbeans IDE 6.9.1

 

Desde já valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fiz isso, mas ainda não consigo por os nomes de todos os alunos com as notas e as médias :/

public static void main(String[] args) {
       String mat [] = new String [4];
       double nota1,nota2,nota3,nota4,media;
       String nome,opçao;
       nome = "nº";
opçao="";
       nota1=0;
       nota2=0;
       nota3=0;
       nota4=0;

       media= (nota1+nota2+nota3+nota4)/4;
while(nome.equals("nº"))
{      {
           {

   for(int i = 0; i<mat.length;i++)
   {

       mat[i] = JOptionPane.showInputDialog("Digite o nome e as notas dos alunos:\n");
   }
       media = Double.parseDouble(mat[3]);
           }
           if (media > 7.0)
           {
       JOptionPane.showMessageDialog(null, "Aprovado");

        }else if (media < 7.0)
       JOptionPane.showMessageDialog(null, "reprovado");
           }
nome=nome+"aluno"+"\n"+mat[0]+" nota"+mat[1]+"\n"+"media"+mat[2]+"\n";

    JOptionPane.showMessageDialog(null, nome);}

opçao = JOptionPane.showInputDialog("Continuar?");
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

É obrigatória a utilização de matriz para resolver o problema?

 

Pois a lógica não obriga o uso da mesma.

 

Atribua o nome do aluno a uma variável.

Atribua as notas às variáveis correspondentes. Some e divida por 4 atribuindo o resultado a uma variável (você fez isso certo).

 

Feito isso, basta informar a nota do aluno com algo mais ou menos assim:

Supondo que:

nomeAluno = Joffre Mota

media = 7.0

resultado = Aprovado

 

JOptionPane.ShowMessageDialog(null, "O aluno " +nomeAluno+ " obteve média " +media+ "! Aluno " +resultado+ ".")

 

Há um erro também na condicional. Você está fazendo IF para notas maiores ou menores que 7. E se as notas forem 7? Remova o Else if (deixe apenas Else) e essa exceção será evitada.

 

Coloque tudo dentro de um laço que deverá repetir até que o usuário informe algum valor específico.

 

Uma dica.

Quando for colocar seus códigos, use a tag [.code.] [./code.] (sem os pontos) para facilitar o entendimento! ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim o professor pediu que fosse feito em matriz.

Bem, eu fiz isso mas não sei como encaixar o laço para aparecer s nomes dos 10 alunos

public static void main(String[] args) {
       String mat [] = new String [4];
       double nota1,nota2,nota3,nota4,media;
       String nome;
       nome = "nº";

       nota1=0;
       nota2=0;
       nota3=0;
       nota4=0;

       media= (nota1+nota2+nota3+nota4)/4;
       String nomeAluno = "";
       String resultado = "";


{      {
           {

   for(int i = 0; i<mat.length;i++)
   {

       mat[i] = JOptionPane.showInputDialog("Digite as notas dos alunos:\n");
   }
       media = Double.parseDouble(mat[3]);
           }
           if (media < 7.0)
           {
       JOptionPane.showMessageDialog(null, "Aprovado");

        }else if (media > 7.0)
       JOptionPane.showMessageDialog(null, "reprovado");
           }




    JOptionPane.showMessageDialog(null, "O aluno " +nomeAluno+ " obteve média " +media+ "! Aluno " +resultado+ ".");}


}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.