Ir para conteúdo
Fórum Script Brasil
  • 0

Média de notas e de alunos


Guilherme Roda de Miranda

Pergunta

"Um professor do Ensino Fundamental precisa de um sistema para cadastrar as notas dos seus alunos. Ele tem que registrar as notas de quatro provas (P1, P2, P3 e P4), além de uma prova substitutiva (para substituir a menor nota).

O sistema deve calcular a média de cada um dos alunos, que é igual à média ponderada das quatro provas. Caso a média seja inferior a 5,0, o aluno é reprovado. O sistema deve ser composto das seguintes partes: 1. Cadastro de alunos: Nome do aluno e matrícula. 2. Cadastro de notas: Cadastro de notas das provas P1, P2, P3 e P4 e da prova substitutiva. 3. Cálculo das médias: O sistema deve conter uma função que calcula a média de cada um dos alunos, depois de todas as notas cadastradas. A função de média executa o cálculo da média ponderada, isto é, cada nota possui um peso (P1 peso 1, P2 peso 2, P3 peso 3 e P4 peso 4). 4. Relatório de desempenho: O sistema deve imprimir (em tela) um relatório com o nome de todos os alunos, suas notas e médias e a média da sala."

 

Comecei tentando estabelecer a menor nota das 4 para ser subsitiuída pela substitutiva.

 

If (n1<n2)

if (n1<n3)

if(n1<n4)

n1=n5

else (n2<n3)

if (n2<n4)

n2=n5

else (n3<n4)

n3=n5

else n4=n5

 

 // já não sei se isso está correto, alguém poeria me ajudar?

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia Guilherme, me desculpe acho que está no caminho errado cara.

O exercício pede um cadastro, e por isso entende-se que pode haver 15 alunos, 20 ou mais alunos, e consequentemente o mesmo ocorre com as notas, ou seja você vai ter um conjunto de 20 boletins sendo que cada boletim pertence a um aluno e possui 5 notas.

Existe n formas de se fazer esse exercício, vou mostrar uma ideia de como eu faria isso.

  • 1) Iria criar uma estrutura para organizar o código e o mesmo ficar mais fácil de lidar.
struct aluno{
	char nome[25];
	int matricula;
};

struct boletim{
	aluno *estudante;
	float notas[5]; 
};
  • 2) Iria criar uma de alunos (cadastro), e uma fila de notas, posteriormente criaria uma função parra imprimir alunos e suas notas, assim como sua media.
  • 3) e agora verificaria qual a menor nota:
  • int menorNota=-1;
    for(int i=0; i<5; i++){
    	if(menorNota>vetorNotas[i]){
    		menorNota=vetorNotas[i];
    	}
    }

    Nessa abordagem não é importante quantas avaliações são verificadas, pois isso não impacta no trabalho para adaptar o código, pois basta trocar o trecho i<5 para i<1000 por exemplo. Mas imagine aumentar o número de avaliações para 1000 na abordagem que você propôs, isso isso seria um caos.

Espero que tenha ajudado em algo, até mais.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...