Bonjour,

voici un petit programme tout simple qui cherche juste à calculer la somme et la moyenne d'un nombre d'éléments donné :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* Bibliotheque des entrees/sorties standard */
#include<iostream>
using namespace std;
/* Fonction principale */
int main()
{
/* Declaration des variables */
int N, nombre, i;
float somme = 0, moyenne = 0;
/* Initialisation des variables */
do
{
cout<<"Donner le nombre de valeurs : ";
cin>>N;
} while ((N < 1)||(N > 10)); /* on demande de saisir N tant que N
n'est pas compris entre 1 et 10 */
/* Traitement */
for (i=1; i<=N ; i=i+1)
{
cout<<"Entrer une valeur : ";
cin>>nombre;
somme = somme + nombre; /* on calcule la somme au fur et a mesure
de la saisie des valeurs pour eviter de le stocker dans N variables */
}
cout<<somme<<" "<<moyenne<<" " <<nombre<<endl;

moyenne = (float) moyenne / (float) nombre; //calcul de la moyenne
/* Affichage des resultats */
cout<<"somme = "<<somme<<endl<<"moyenne = "<< moyenne <<"\n";
system ("pause");
return 0;
}
Le problème se situe dans le calcul de la moyenne :

moyenne = (float) moyenne / (float) nombre;
Bien que moyenne soit un float, lorsque par exemple je calcule la moyenne de 2 et 3 j'obtiens 0.... alors j'ai ajouté les (float) pour caster, mais toujours le même résultat...

Une idée ?

Merci,

GDM.