Ciao a tutti ragazzi sono nuovo nel forum e da un anno circa che programmo in C,ma ho fatto molte assenze durante il primo quarto d'anno,vedrete dopo il motivo. Ora stiamo iniziando i sottoprogrammi e in particolare c'è n'è uno che non vuole girare! Allora il testo è questo:
Dopo aver realizzato una funzione che determina la media tra due numeri interi,realizzare un programma che riceve in input i voti conseguiti da un alunno alle ultime 3 verifiche e si comporti come segue:
-Se l'ultimo voto è superiore di almeno mezzo voto alla media dei precedenti due visualizza il messaggio "Stai Migliorando!";
-Se l'ultimo voto è inferiore di almeno mezzo voto alla media dei precedenti due visualizza il messaggio "Stai Peggiorando"
-Nel caso di sostanziale stabilità visualizza il messaggio "Sei Equo".
Ecco,il problema sta nel terzo punto,se inserisco 3 voti uguali in output mi dà "Stai Peggiorando" e "Sei Equo".
A seguire il codice,Grazie Mille.
#include <stdio.h>
#include <stdlib.h>
int mediavoti (int n){
int mv;
mv=n/2;
return mv;
}
int main () {
float verifica1,verifica2,verifica3;
int mediavotitotale;
printf ("Inserisci i voti che hai ricevuto nelle ultime 3 verifiche:\n\n");
printf ("Prima Verifica: "); scanf ("%f",&verifica1);
printf ("Seconda Verifica: "); scanf ("%f",&verifica2);
printf ("Terza Verifica: "); scanf ("%f",&verifica3);
mediavotitotale=mediavoti(verifica1+verifica2);
if (verifica3>mediavotitotale+0.5)
puts ("Stai Migliorando");
else
puts ("Stai peggiorando");
if (verifica3==mediavotitotale)
puts ("SEI EQUO");
system ("PAUSE");
return 0;
}