Una classe di 10 alunni e i voti
PROBLEMA
Scrivere un programma che per una classe con 10 alunni per ogni alunno:
- chiede quanti voti ha;
- lì fa inserire;
- ne calcola per ogni alunno la media;
- dice quante insufficienze ha quell’alunno.
Dopo che sono stati inseriti i voti per tutti gli alunni, il programma dice quanti voti insufficienti in tutto ci sono stati e quanti alunni hanno una media inferiore al 6.
CODICE SORGENTE
#include <stdio.h> //library
#include <stdlib.h> //library
#define NUMERO_ALUNNI 10 //constante
int main(int argc, char *argv[]) { //corpo del programma
int a=0, b=0, numero_di_voti_da_inserire=0, insufficienze_alunno=0, alunni_con_media_insufficiente=0, insufficienze_totale=0; //dichiarazione variabili
float voto=0, media=0; //dichiarazione variabile
for(a=0; a<NUMERO_ALUNNI; a++) { //ciclo per ripeterlo 10 volte
do { //controllo input
printf("\nInserire numero di valutazioni:"); //testo a video
scanf("%i", &numero_di_voti_da_inserire); //input
}while(numero_di_voti_da_inserire<0); //fine controllo input rig.17
media=0; //assegnazione
for(b=0; b<numero_di_voti_da_inserire; b++) { //ripetere per il numero insertito
do { //controllo input
printf("Inserire valutazione n.%i: ", ++b); //messaggio a video
b--; //decremento
scanf("%f", &voto); //input
}while(voto<0); //fine controllo input rig.23
media+=voto; //media=media+voto
if (voto<6) //condizione
{
insufficienze_alunno++; //incremento
}
} //fine ciclo rig.22
media=media/numero_di_voti_da_inserire; //calcolo media
printf("Insufficienze alunno: %i", insufficienze_alunno); //messaggio a video
printf("\nMedia alunno: %.2f\n", media); //messaggio a video
if (media<6) //condizione
{
alunni_con_media_insufficiente++; //incremento
}
insufficienze_totale=+insufficienze_alunno; //insufficienze_tatole=insufficienze_totale+insufficienze_alunno
}
printf("\nVoti insufficienti totale: %i", insufficienze_totale); //messaggio a video
printf("\nAlunni con media inferiore al 6: %i\n", alunni_con_media_insufficiente); //messaggio a video
system("pause");
return 0;
}