Salve avrei un problemino.
Questo é il programma del libro e funziona a meraviglia...
/* Fase di elaborazione */
printf("Digita il voto, -1 per uscire; ");
scanf("%d", &voto);
while (voto != -1) {
totale = totale + voto;
conteggio = conteggio + 1;
printf("Digita il voto, -1 per uscire: ");
scanf("%d", &voto);
}
/* Fase di chiusura */
if(conteggio != 0) {
media = (float) totale / conteggio;
printf("La media della classe e' %.2f", media); }
else
printf("Non e' stato dato alcun alunno");
return 0;
}
e se digito all'inizio il -1 termina con la frase else...
e questo é il mio...
#include <stdio.h>
main()
{
float media;
int conteggio, voto, totale;
/* INIZIALIZZAZIONE */
totale = 0;
conteggio = 0;
/* SVOLGIMENTO */
printf("Dai un voto(-1 per terminare il programma): ");
scanf("%d", &voto);
while (voto != -1) {
totale = totale + voto;
conteggio = conteggio + 1;
printf("Dai un voto(-1 per terminare il programma): ");
scanf("%d", &voto);
}
/* RISULTATO FINALE */
if (conteggio =! 0) {
media = (float) totale / conteggio;
printf("Ecco la media dei tuoi conteggio %.2f", media); }
else
printf("Non e' stato dato alcun alunno");
return 0;
}
tranne i commenti é tale e quale, avevo anche messo altri nomi di variabili e poi le ho cambiate per rendere i programmi simili.
Il problema e che se io digito nel mio di programma il -1 mi calcola la media di 0.00.
Ma io vorrei che mi terminasse il programma come quello del libro.
Ho controllato na decina di volte e sono giunto alla conclusione che qualche parole non é stata interpretata dal compiler. Uso Codeblocks 10.05.
Oppure c'é un errore. Potete dare un'occhiata per favore voi ?
Grazie raga