Ir ao conteúdo
  • Cadastre-se
Guilherme Roda de Miranda

Média de notas e média da sala

Recommended Posts

Olá, alguém me ajudaria a resolver esse exercício:

"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 qual a menor nota das 4 para depois substituir pela nota 5.

 

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  1. Fiz um code básico, de como você pode implementar...
    #include <stdio.h>
    #include <stdlib.h>
    
    
    
    int main(){
    
    int i;
    int x;
    int vetorNotas[4];
    int p5 = 6;
    
    int menor = vetorNotas[0];
    
    
    for(i = 0; i < 4; i++){
    printf("digite a %d nota: \n", i+1);
    scanf("%d",&vetorNotas[i]);
    }
    
    
    for(x = 0; x < 4; x++){
    
    	if(menor > vetorNotas[x]){
    
    		menor = vetorNotas[x];
    
    	}
    
    }
    
    	printf("a menor nota foi: %d\n", menor);
    	
    	for(int y = 0; y < 4; y++){
    
    		if(menor == vetorNotas[y]){
    			vetorNotas[y] = p5;
    			printf("a prova com menor nota é a : %d\n",y + 1);
    
    
    		}
    
    	}
    
    	for(i = 0; i < 4; i++){
    
    	printf("%d \n", vetorNotas[i]);
    
    	}
    
    
    
    }

     

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sua lógica em parte está certa, but você está usando varios if's de maneira inadequada, arrumando a sua lógica, ficaria assim:

 

if(n1<n2 && n1<n3 && n1<n4)
	n1 = n5;
else if(n2<n3 && n2<n4)
	n2 = n5;
else if(n3 < n4)
	n3 = n5;
else
	n4 = n5;

 

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

×