Programma semplice in C non funziona correttamente

di il
4 risposte

Programma semplice in C non funziona correttamente

Salve a tutti,

Ho iniziato recentemente il corso in statistica e big data in Unimercatorum.

Devo dare l'esame in Programmazione e ho iniziato dal C.

Scrivendo questo codice con il for al posto del while sintetizzandolo

(che con il while funziona perfettamente assegnando le variabili ad inizio codice)

riscontro un errore logico:

ammette solo 5 risultati nel ciclo anziche' 10,vi allego il codice:

#include <stdio.h>
#include <stdlib.h>



int main()
{
int risultato;
int promossi;
int bocciati;
int studenti;


for (promossi = 0,bocciati = 0,studenti = 1;studenti <= 10; studenti = studenti +1){
    printf("Inserisci il risultato: Promosso=1 , Bocciato =2\n");
    scanf("%d" , &risultato);


    if (risultato == 1){
    promossi = promossi + 1;

    }
    else if (risultato == 2)
    {
    bocciati = bocciati + 1;

    }
    else
    printf("Il risultato non e' valido:\n");
    studenti = studenti + 1;
}

{
printf("Studenti promossi:%d\n" , promossi);
printf("Studenti bocciati:%d\n" , bocciati);

}
    if (promossi >= 8 )
        printf("Si devono aumentare le tasse.\n");
    else
        printf("Non si devono aumentare le tasse.\n");

    return 0;
}

Dichiarando studenti =20 nella linea for ottengo invece il calcolo su 10 studenti.

Vorrei gentilmente consigli su come ottimizzare il mio codice in generale e chiarimenti su questa ambiguità.

Grazie

4 Risposte

Devi accedere o registrarti per scrivere nel forum
4 risposte