Buscar

Lista7_IP1_4Questao

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Universidade Católica de Pernambuco 
Centro de Ciências e Tecnologia 
Ciência da Computação 
Disciplina: Introdução a Programação I 
Prof° Mozart Gomes 
4º) Escreva um procedimento que recebe as 3 notas de um aluno por parâmetro e uma letra. Se a letra for A o procedimento calcula a média aritmética das notas do aluno, se for P, a sua média ponderada (pesos: 5, 3 e 2). A média calculada também e a situação devem ser retornadas, para tal considere o seguinte: media >= 7.0 aluno aprovado, se média < 3.0 aluno reprovado, caso contrário fará exame final. Utilizando esse procedimento, elabore um programa que leia as notas de vários alunos e ao final informe quantos alunos foram aprovados por média, quantos foram reprovados por média e quantos farão exame final. O programa encerrará quando o usuário informar que não há mais notas de alunos. 
 
4º) Questão:
#include <stdio.h>
#include <ctype.h>
void aluno(float nota1, float nota2, float nota3, char opcao, int *contAprovado, int *contReprovado, int *contExameFinal){
	float mediaA, mediaP;
	if (opcao == 'A'){
		mediaA = (nota1 + nota2 + nota3) / 3;
		if (mediaA >= 7){
			printf("\n----------------------------------------------------\n");
			printf("A nota do aluno foi: %f\n", mediaA);
			printf("O Aluno esta aprovado por media!\n");
			*contAprovado = *contAprovado + 1;
			printf("\n----------------------------------------------------\n");
		
		}
		if (mediaA < 3){
			printf("\n----------------------------------------------------\n");
			printf("A nota do aluno foi: %f\n", mediaA);
			printf("O Aluno esta reprovado!\n");
			*contReprovado = *contReprovado + 1;
			printf("\n----------------------------------------------------\n");
		}
		if (mediaA > 3 && mediaA < 7){
			printf("\n----------------------------------------------------\n");
			printf("A nota do aluno foi: %f\n", mediaA);
			printf("O Aluno fara o exame final!\n");
			*contExameFinal = *contExameFinal + 1;
			printf("\n----------------------------------------------------\n");
		}
	}
	if (opcao == 'P'){
		mediaP = ((nota1 * 5) + (nota2 * 3) + (nota3 * 2)) / 10;
		if (mediaP >= 7){
			printf("\n----------------------------------------------------\n");
			printf("A nota do aluno foi: %f\n", mediaP);
			printf("O Aluno esta aprovado por media!\n");
			*contAprovado = *contAprovado + 1;
			printf("\n----------------------------------------------------\n");
		}
		if (mediaP < 3){
			printf("\n----------------------------------------------------\n");
			printf("A nota do aluno foi: %f\n", mediaP);
			printf("O Aluno esta reprovado!\n");
			*contReprovado = *contReprovado + 1;
			printf("\n----------------------------------------------------\n");
		}
		if (mediaP > 3 && mediaP < 7){
			printf("\n----------------------------------------------------\n");
			printf("A nota do aluno foi: %f\n", mediaP);
			printf("O Aluno fara o exame final!\n");
			*contExameFinal = *contExameFinal + 1;
			printf("\n----------------------------------------------------\n");
		}
	}
}
int main(){
	float nota1, nota2, nota3;
	int contAlunos = 1, contAprovado = 0, contReprovado = 0, contExameFinal = 0;
	char opcao, opcao2 = 'S';
	do{
		printf("\n----------------------------------------------------\n");
		printf("%d - Aluno\n", contAlunos);
		printf("Informe a primeira nota: ");
		scanf("%f", &nota1);
		printf("Informe a segunda nota: ");
		scanf("%f", &nota2);
		printf("Informe a terceira nota: ");
		scanf("%f", &nota3);
		printf("Para calcular media aritmetica, Digite 'A' e para ponderada, Digite 'P': ");
		fflush(stdin);
		scanf("%c", &opcao);
		opcao = toupper(opcao);
		aluno(nota1, nota2, nota3, opcao, &contAprovado, &contReprovado, &contExameFinal);
		contAlunos++;
		printf("Ha mais alguma nota de aluno(s/n)? ");
		fflush(stdin);
		scanf("%c", &opcao2);
		opcao2 = toupper(opcao2);
	} while (opcao2 == 'S');
	printf("----------------------------------------------------\n");
	printf("Quantidade de alunos Aprovados por media foi: %d\n", contAprovado);
	printf("Quantidade de alunos Reprovados por media foi: %d\n", contReprovado);
	printf("Quantidade de alunos que fara o exame final foi: %d\n", contExameFinal);
	return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais