fig03_10fix.c (1566B)
1 /* Fig. 3.10: fig03_10.c 2 Analisi dei risultati dell'esame */ 3 #include <stdio.h> 4 5 /* l'esecuzione del programma inizia dalla funzione main */ 6 int main() 7 { 8 /* inizializza le variabili nelle dichiarazioni */ 9 int passes = 0; /* numero di promozioni */ 10 int failures = 0; /* numero di bocciature */ 11 int student = 1; /* conttore degli studenti */ 12 int result; /* risultato di un esame */ 13 14 /* elabora 10 studenti; ciclo controllato da un contatore */ 15 while ( student <= 10 ) { 16 17 /* sollecita l'utente a inserire i dati e ottiene i valori 18 da quest'ultimo */ 19 printf( "Enter result (1=pass,2=fail): "); 20 scanf("%d", &result ); 21 22 /* se il risultato č 1, incremente il numero di promozioni */ 23 if ( result == 1 ) { 24 passes = passes + 1; 25 } /* fine del ramo if */ 26 else if ( result == 2 ) { /* altrimenti incremente le bocciature */ 27 failures = failures + 1; 28 } /* fine del raom else */ 29 else { 30 printf("Valore non corretto (%d)\n", result); 31 continue; 32 } 33 34 student = student +1; /* incremente il contatore degli studenti */ 35 } /* fine del comando while */ 36 37 /* fase di terminazione; visualizza il numero di promozioni 38 e di bocciature */ 39 printf( "Passed %d\n", passes ); 40 printf( "Failed %d\n", failures ); 41 42 /* se pių di otto studenti sono stati promossi, visualizza 43 "raise tuition" */ 44 if ( passes > 8 ) { 45 printf( "Raise tuition\n" ); 46 } /* fine del comando if */ 47 48 return 0; /* chiusura con successo */ 49 50 } /* fine della funzione main */ 51 52 53