Pessoal, segue o programa que acabei de fazer:
#include <stdio.h>
#include <stdlib.h>
int main()
{
float np1, np1t, np1tot, np2, np2t, np2tot, med, af, pass;
printf ("Digite sua primeira np1: ");
scanf ("%f", &np1);
printf ("Digite sua segunda np1: ");
scanf ("%f", &np1t);
np1tot = (np1 + np1t) / 2;
printf ("Sua media da np1 e: %1.f \n",np1tot);
printf ("Digite sua primeira np2: ");
scanf ("%f", &np2);
printf ("Digite sua segunda np2: ");
scanf ("%f", &np2t);
np2tot = (np2 + np2t) / 2;
printf ("Sua media da np2 e: %1.f \n",np2tot);
med = (np1tot + np2tot) / 2;
printf ("Sua media total e: %1.f \n",med);
if (med < 4) {
printf ("voce foi reprovado.");
} else if ((med >= 4 && med < 8)){
printf ("voce vai para final. \n");
printf ("Se ja tiver feito a prova, digite sua nota: ");
scanf ("%f", &af);
} if (af < 5){
printf ("voce vai repetir a cadeira.");
} else {
pass = med + af;
if (pass < 10){
printf ("voce VAI repetir a cadeira");
} else if ((pass >= 10)) {
printf ("voce passou, BOAS FERIAS!");
}
}
return 0;
}
O programa está praticamente inteiramente correto, o problema é que se eu colocar todas as notas abaixo de 4, deveria aparecer apenas "voce foi reprovado.", mas ao invés disso, aparece "voce foi reprovado.voce passou, BOAS FERIAS!"
Alguém sabe dizer porque isso está acontecendo?