Accedi

Una classe di 10 alunni e i voti

PROBLEMA

Scrivere un programma che per una classe con 10 alunni per ogni alunno:

  1. chiede quanti voti ha;
  2. lì fa inserire;
  3. ne calcola per ogni alunno la media;
  4. 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;
}