Ir ao conteúdo
  • Cadastre-se
AleMS

Java Soma cada notade aluno

Recommended Posts

Olá !! preciso fazer um programas onde crio uma estrutura representando 5 alunos da disciplina de Lógica de Programação II. A estrutura deve conter o nome do aluno, polo, nota da AO01, nota da AO02, nota da AP01 e a nota da N1. Desenvolva um programa que:
a) Para cada aluno, calcule a nota da N1, armazene no registro de cada aluno para os alunos e mostra a N1 calculada.
Até ai consegui cria o registro sem problemas, só que quando vou fazer a soma das notas para obter a N1 cada aluno a N1 do primeiro aluno soma com a do segundo tipo se o primeiro teve 4 e o segundo 6 a N1 do segundo aluno soma com a do primeiro ficanco o segundo aluno com 10.
Alguem pode me dar uma solução.
Este é o codigo que eu fiz:

import java.util.Scanner;
public class questao04{

private static class registro{
String nome;
String polo;
float notaAO01;
float notaAO02;
float N1;
float AP01;
}

public static void main(String args[]){
final int tam=5;
registro vet[]= new registro[tam];

Scanner e = new Scanner(System.in);
int i,j;
float soma=0;
float media;
float maior;

for(i=0;i<tam;i++){
vet = new registro();
vet.nome=(" “);
vet.polo=(”");
vet.notaAO01=0;
vet.notaAO02=0;
vet.N1=0;
vet.AP01=0;
}
for(i=0;i<tam;i++){
// System.out.println("\nRegisro Escolar do Aluno\n");
System.out.println("Digite o Nome do aluno(a): ");
e = new Scanner(System.in);
vet.nome = e.nextLine();

System.out.println("Digite o Nome do polo(a): ");

e = new Scanner(System.in);

vet.polo = e.nextLine();

System.out.println("Digite a nota AO01: ");

e = new Scanner(System.in);

vet.notaAO01= e.nextFloat();

System.out.println("Digite a nota AO02: ");

e = new Scanner(System.in);

vet.notaAO02= e.nextFloat();

System.out.println("Digite a nota AP01: ");

e = new Scanner(System.in);
vet.AP01= e.nextFloat();
System.out.println("\n");

soma=soma+(vet.notaAO01+vet.notaAO02)+vet.AP01;

vet.N1=soma; }

for(i=0;i<tam;i++){

System.out.println("Aluno: "+vet.nome);

System.out.println("Polo: "+vet.polo);

System.out.println("AO01: "+vet.notaAO01);

System.out.println("AO02: "+vet.notaAO02);

System.out.println("AP01: "+vet.AP01);

System.out.println("N1: " + vet.N1); }}}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.

Provavelmente o problema seja essa variável soma que você criou. Ela só é inicializada no começo do programa. Toda vez que laço faz uma iteração, a variável soma já possui o valor da N1 antiga e incrementa à nova nota calculada.

Ou você inicializa ela antes do uso dentro do FOR ou então remove e trabalha diretamente com a N1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@AleMS  quando postares um código, pedimos usar o botão "code", afim de que o código fique evidente, e não fique "bagunçado" no leiaute do fórum.

[C] o que estou fazendo de errado no simulador - CC#C++ - Clube do Hardware - Google Chrome.jpg

Estamos editando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Era isso mesmo Math.pi muito obrigado pela ajuda!!!

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×