Ir ao conteúdo

Posts recomendados

Postado

Gente, bom dia :)

 

seguinte, eu preciso entregar esse código que basicamente pega uma matrícula, faz as médias das notas e deveria somar os alunos aprovados e alunos reprovados. Mas eu não to sabendo como fazer essa soma. Alguém me ajuda pls ?

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>
#include <math.h>

main () {
	
	setlocale (LC_ALL, "Portuguese");
	
	float MF, n1, n2, n3, matricula, soma_apv, soma_rpv;
	soma_apv = 0 ;
	soma_rpv = 0 ;
	
	printf ("Calculadora de média final de turmas.\n");
	
	do {
		
		printf ("\n Insira a matrícula do estudante (Ex. 2130): ");
		scanf  ("%f", &matricula);
		
		printf ("\n Insira a primeira nota: ");
		scanf  ("%f", &n1);
		
		printf ("\n Insira a segunda nota: ");
		scanf  ("%f", &n2);
		
		printf ("\n Insira a terceira nota: ");
		scanf  ("%f", &n3);
		
		MF = ((2 * n1) + (3 * n2) + (4 * n3)) / 9 ;
		
		while (MF >= 5) {
			
			MF = ((2 * n1) + (3 * n2) + (4 * n3)) / 9 ;
			
			printf ("\n O aluno de matrícula %1.0f, obteve a média %0.2f e está Aprovado!\n", matricula, MF);
			
		}
		if (MF < 5) {
			
			MF = ((2 * n1) + (3 * n2) + (4 * n3)) / 9 ;
			
			printf ("\n O aluno de matrícula %1.0f, obtece a média %0.2f e está Reprovado!\n", matricula, MF);
			
		}
		
		
		
		
	}while (matricula != 9999) ;
	
	if (MF >= 5) {
		
		soma_apv = 
		
	}
	
	getch ();
	
}

 

Postado

obrigado :)  , só que ao invés de soma_apv++ (tava dando loop infinito), eu usei soma_apv +=1. Mesmo assim obrigadão ^.^ 

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>
#include <math.h>

main () {
	
	setlocale (LC_ALL, "Portuguese");
	
	float MF, n1, n2, n3, matricula, soma_apv, soma_rpv;
	
	int cont_apv=0, cont_rpv=0 ;
	
	printf ("Calculadora de média final de turmas.\n");
	
	do {
		
		printf ("\n Insira a matrícula do estudante (Ex. 2130): ");
		scanf  ("%f", &matricula);
		
		if (matricula != 9999) {
		
		printf ("\n Insira a primeira nota: ");
		scanf  ("%f", &n1);
		
		printf ("\n Insira a segunda nota: ");
		scanf  ("%f", &n2);
		
		printf ("\n Insira a terceira nota: ");
		scanf  ("%f", &n3);
		
		MF = ((2 * n1) + (3 * n2) + (4 * n3)) / 9 ;
		
	
		
		if (MF >= 5) {
			
			printf ("\n O aluno de matrícula %1.0f, obteve a média %0.2f e está Aprovado!\n", matricula, MF);
			
			cont_apv +=1 ;
			
		}
		if (MF < 5) {
			
			printf ("\n O aluno de matrícula %1.0f, obtece a média %0.2f e está Reprovado!\n", matricula, MF);
			
			cont_rpv +=1 ;
			
		}
	}	
		
	}while (matricula != 9999) ;
	
	printf ("\n A quantidade de alunos aprovados é de: %1.0d.", cont_apv) ;
	printf ("\n A quantidade de alunos reprovados é de: %1.0d.", cont_rpv) ;
	
	getch ();
	
}

 

  • Curtir 1
  • Membro VIP
Postado

Olá @GustavoMdancers.

 

Alguns pontos:

 

1) INDENTAÇÃO DE CÓDIGO

Faltou indentar parte do código... basicamente em relação ao primeiro if.

 

Abaixo seu código reindentado:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>
#include <math.h>

main () {
	setlocale (LC_ALL, "Portuguese");
	float MF, n1, n2, n3, matricula, soma_apv, soma_rpv;
	int cont_apv=0, cont_rpv=0;
	printf ("Calculadora de média final de turmas.\n");	
	do {
		printf ("\n Insira a matrícula do estudante (Ex. 2130): ");
		scanf  ("%f", &matricula);
		if (matricula != 9999) {
			printf ("\n Insira a primeira nota: ");
			scanf  ("%f", &n1);
			printf ("\n Insira a segunda nota: ");
			scanf  ("%f", &n2);
			printf ("\n Insira a terceira nota: ");
			scanf  ("%f", &n3);
			MF = ((2 * n1) + (3 * n2) + (4 * n3)) / 9;
			if (MF >= 5) {
				printf ("\n O aluno de matrícula %1.0f, obteve a média %0.2f e está Aprovado!\n", matricula, MF);	
				cont_apv +=1;
			}
			if (MF < 5) {
				printf ("\n O aluno de matrícula %1.0f, obtece a média %0.2f e está Reprovado!\n", matricula, MF);
				cont_rpv +=1;
			}
		}
	} while (matricula != 9999);
	printf ("\n A quantidade de alunos aprovados é de: %1.0d.", cont_apv);
	printf ("\n A quantidade de alunos reprovados é de: %1.0d.", cont_rpv);
	getch ();
}

Obs.: tirei os espaços entre as linhas apenas para efeitos demonstrativo.

 

 

2) CONDIÇÕES MUTUAMENTE EXCLUDENTES

Todo número que não é "maior igual a um outro número" necessariamente será "menor que esse outro número". Logo, o segundo if é desnecessário, basta usar o else. (todo aluno que não foi aprovado, foi reprovado! é binário!)

 

Na pior da hipóteses, é necessário o else antes do segundo if, pois se for o primeiro if, nunca será o segundo. (mas lembrando que ele não é necessário)

 

 

 

3) INTERAÇÃO COM USUÁRIO

Sem ter lido o código, como o usuário vai "adivinhar" que precisar inserir 9999 na matrícula para sair?

 

Sugestão: solicita alguém da casa utilizar o algoritmo. É uma boa forma de identificar o que pode ser melhorado.

 

 

 

***

 

No aguardo.

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!