Soit le programme suivant :
int main() {
int a, somme, nb = 0;
cout << "Veuillez saisir des nombres pour en calculer la moyenne" << endl;
while (1) {
cin >> a;
if ( a < 0 )
break;
somme += a;
nb++;
}
cout << "La moyenne est de : " << (float) somme / nb << endl;
}
|
Ce programme ajoute une suite de nombre non négatif pour en calculer la moyenne.
Si le transtypage de la division n'a pas lieu je me retrouve avec un resultat totalement à l'ouest, pourtant il s'agit d'un division entier par entier et il ne devrait pas y'avoir d'erreur.
Avec transtypage (float)
Veuillez saisir des nombres pour en calculer la moyenne
30 31 32 -7
La moyenne est de : 31
|
Sans transtypage (float)
Veuillez saisir des nombres pour en calculer la moyenne
30 31 32 -7
La moyenne est de : -403250242
|