#include int calcola_punteggio_finale(int crediti_scolastici, int prova1, int prova2, int prova3) { if (crediti_scolastici < 30) { printf("Non idoneo al bonus (crediti scolastici < 30)\n"); return -1; } int punteggio_totale_prove = prova1 + prova2 + prova3; if (punteggio_totale_prove < 50) { printf("Non idoneo al bonus (punteggio totale prove < 50)\n"); return -1; } // Calcolo del bonus int prove_col17 = 0; int prove_col20 = 0; if (prova1 >= 17) prove_col17++; if (prova2 >= 17) prove_col17++; if (prova3 >= 17) prove_col17++; if (prova1 == 20) prove_col20++; if (prova2 == 20) prove_col20++; if (prova3 == 20) prove_col20++; int bonus = 0; if (prove_col20 >= 2) { bonus = 5; } else if (prove_col20 == 1) { bonus = 4; } else if (prove_col17 == 3) { bonus = 3; } else if (prove_col17 == 2) { bonus = 2; } else if (prove_col17 == 1) { bonus = 1; } int punteggio_finale = punteggio_totale_prove + bonus; return punteggio_finale; } int main() { printf("Punteggio finale: %d\n", calcola_punteggio_finale(35, 18, 19, 17)); printf("Punteggio finale: %d\n", calcola_punteggio_finale(32, 20, 20, 18)); printf("Punteggio finale: %d\n", calcola_punteggio_finale(28, 20, 20, 10)); printf("Punteggio finale: %d\n", calcola_punteggio_finale(33, 12, 18, 20)); }