Problema (non) visualizzazione di un esercizio C++

di il
1 risposte

Problema (non) visualizzazione di un esercizio C++

Salve, questo è il mio primo post. Immagino che per i più esperti del forum quest'esercizio possa essere una stupidaggine, ma i principianti come il sottoscritto possono incontrare delle difficoltà. L'esercizio mi chiedeva di determinare la media di 3 voti conseguiti da uno studente, e, di mostrarne i giudizi corrispondenti (es. gravemente insufficiente). Non capisco come mai, una volta mandato in esecuzione, non riesca a visualizzare i giudizi espressi, ma solo la media, dove sbaglio? Grazie in anticipo.

#include <cstdio> // stdio.h In C
using namespace std;
int main () 
{
    /*PARTE DICHIARATIVA*/
    int a, b, c, somma; // rispettivamente voto della prima verifica, voto della seconda verifica, voto della terza verifica, somma dei voti
    const int numero_voti {3}; // numero dei voti
    float M; // media dei voti calcolata tramite somma / numero_voti
        
    /*PARTE ESECUTIVA*/
    printf ("Inserire voto della prima verifica (intero): ");
    scanf ("%d", &a);
    printf ("Inserire voto della seconda verifica (intero): ");
    scanf ("%d", &b);
    printf ("Inserire voto della terza verifica (intero): ");
    scanf ("%d", &c);
    somma = a + b + c;
    M = somma / numero_voti;
    if (M < 4.5)
       {("M = Gravemente insufficiente");}
    else {    
        if (4.5 <= M < 6.0) 
          {("M = Insufficiente");}
        else {
           if (6.0 <= M < 7.5)
               {("M = Sufficiente");}
           else {
              if (M >= 7.5)
                 {("M = Buono");}
        }
    }   
}
    printf ("a = %d, b = %d, c = %d \n", a, b, c); 
    printf ("La media dei voti e': = %f \n", M);
        
return 0;
}

1 Risposte

  • Re: Problema (non) visualizzazione di un esercizio C++

    Questa porzione di codice
    
    if (4.5 <= M < 6.0) 
              {("M = Insufficiente");}
              ...
    
    è sbagliata/non ha senso.

    Prima di tutto, la condizione nella if non si scrive in quel modo ma va spezzata in due parti

    se (M è >= 4.5 && M è <= 6.0)

    e poi non puoi assegnare una stringa ad M che è una variabile float

    ???
    
    ("M = Insufficiente");
    
    O usi direttamente una printf per visualizzare il messaggio oppure usi una strcpy per assegnare una frase ad una variabile di tipo array di char. Se hai studiato le string del C++, usi quelle.
Devi accedere o registrarti per scrivere nel forum
1 risposte