Problema Programma in C

di
Anonimizzato14663
il
5 risposte

Problema Programma in C

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;
}

5 Risposte

  • Re: Problema Programma in C

    E' normale che faccia così visto come hai organizzato le if ... Dovrebbero essere
    
    if (verifica3==mediavotitotale)
      puts ("SEI EQUO");
    else
    {
       if (verifica3>mediavotitotale+0.5)
          puts ("Stai Migliorando");
       else
          puts ("Stai peggiorando");
    }
    
    P.S. Stai usando C# o C/C++?
  • Re: Problema Programma in C

    Sto usando C, il programma ora va benissimo GRAZIE MILLE però non capisco il perchè..Potresti spiegarmelo?
  • Re: Problema Programma in C

    Se è C allora hai sbagliato sezione del forum ... questa è per il C#

    Per capire basta che tu esegua "a voce" il tuo codice ... assumi che verifica3==mediavotitotale ed esegui linea per linea ... cosa succede?
  • Re: Problema Programma in C

    Il compilatore dovrebbe fare un giro diretto giusto? proprio a questo serve la if,almeno che io sappia..Scusami se ho sbagliato sezione pensavo che quel "#" fosse un elemento aggiuntivo per dare il nome alle sezioni,infatti avevo anche visto c++#.
    Potresti reindirizzarmi alla sezione corretta per le prossime domande? Grazie.
  • Re: Problema Programma in C

    SalentoMaker ha scritto:


    Il compilatore dovrebbe fare un giro diretto
    Che vuoi dire? Cosa c'entra il compilatore?

    Ti suggerivo di eseguire tu passo passo le righe che hai scritto ...
    Potresti reindirizzarmi alla sezione corretta per le prossime domande? Grazie.
    https://www.iprogrammatori.it/forum-programmazione/cplusplus/
Devi accedere o registrarti per scrivere nel forum
5 risposte