Problema
Ler duas notas AB1 e AB2 de um aluno. Se as duas notas forem superiores a 7,0, escrever a média final do aluno, MF, como a média aritmética das notas dadas. Se pelo menos uma das notas for inferior a 7,0, ler também a nota de reavaliação, RA, e escrever a média final do aluno calculada pela média aritmética somente das duas maiores notas entre AB1, AB2 e RA. Finalmente, se MF for menor que 5,0, escrever “Reprovado”, MF for maior ou igual a 7,0, escrever “Aprovado”, se não estiver nem aprovado nem reprovado, escrever “Fará prova final”.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float ab1, ab2, ra, mf;
float nmenor;
printf("Nota 1: ");
scanf("%f", &ab1); printf("\n\n");
printf("Nota 2 ");
scanf("%f", &ab2); printf("\n\n");
if((ab1 >= 7) && (ab2 >= 7)) // no problema só fala > e não >=
printf("Media: %f", (ab1 + ab2) / 2);
else {
printf("Nota de reavaliacao: ");
scanf("%f", &ra); printf("\n\n");
mf = ab1 + ab2 + ra; // somamos as 3 notas
if(ab1 < ab2)
nmenor = ab1;
else nmenor = ab2;
if(ra < nmenor) nmenor = ra;
mf -= nmenor; // subtraimos a menor nota de todas, restando as 2 maiores
mf /= 2.0;
printf("N1: %f -- N2: %f -- RA: %f -- MF: %f\n\n", ab1, ab2, ra, mf);
if(mf < 5.0)
printf("Reprovado");
else
if(mf >= 7.0)
printf("Aprovado");
else printf("Fara prova final");
printf("\n\n");
}
system("PAUSE");
return EXIT_SUCCESS;
}
Atenciosamente,