Ledmauro
19-12-2006, 20:09
Ciao a tutti. Ho da poco acquistato il libro "C corso completo di programmazione" e sto appena entrando nel mondo della programmazione :) Sono arrivato al while, ma non ho capito alcuni passi di un esempio che riporta il libro. L'esempio ha lo scopo di calcolare la media di una classe, e inserendo come valore del grado, il valore -1, il programma termina. Ecco il codice:
#include<stdio.h>
int main()
{
int counter;
int grade;
int total;
float average;
total= 0;
counter=0;
printf("Inserisci un grado, -1 per terminare \n");
scanf("%d", &grade);
while(grade != -1) {
total = total + grade;
counter = counter + 1;
printf(" Inserisci un voto: ");
scanf("%d", &grade);
}
if (counter != 0){
average= (float) total / counter;
printf("La media è %.2f", average);
}
else {
printf("Non hai inserito nessun voto");
}
return 0;
}
Adesso, non capisco alcuni passi...le mie domande sono:
1)Nel ciclo WHILE, perchè nn mette prima la funzione printf e scanf e poi sommare la somma è aumentare il contatore dei voti?
2)Perchè prima del ciclo WHILE bisogna inserire:
printf("Inserisci un grado, -1 per terminare \n");
scanf("%d", &grade);
Vi prego di rispondere in maniera chiara, perchè ho particolari difficoltà ancora :D :D Grazie anticipamente e ciao!!
#include<stdio.h>
int main()
{
int counter;
int grade;
int total;
float average;
total= 0;
counter=0;
printf("Inserisci un grado, -1 per terminare \n");
scanf("%d", &grade);
while(grade != -1) {
total = total + grade;
counter = counter + 1;
printf(" Inserisci un voto: ");
scanf("%d", &grade);
}
if (counter != 0){
average= (float) total / counter;
printf("La media è %.2f", average);
}
else {
printf("Non hai inserito nessun voto");
}
return 0;
}
Adesso, non capisco alcuni passi...le mie domande sono:
1)Nel ciclo WHILE, perchè nn mette prima la funzione printf e scanf e poi sommare la somma è aumentare il contatore dei voti?
2)Perchè prima del ciclo WHILE bisogna inserire:
printf("Inserisci un grado, -1 per terminare \n");
scanf("%d", &grade);
Vi prego di rispondere in maniera chiara, perchè ho particolari difficoltà ancora :D :D Grazie anticipamente e ciao!!