Probleme prog c++

Fermé
aluto - 17 oct. 2009 à 00:41
 tech_57 - 17 oct. 2009 à 20:19
Bonjour,

je debute en c++ et je suis confronté a un petit probleme... voici mon code:

{
int valeur = 0;
int accumulateur = 0;
int Nombre = 0;
int total = 0;
int max = 0;
int min = 20;
cout << "entrez une valeur entre 0 et 20 : "<< endl;

while (valeur!=-1)
{
cout << "si vous entrez -1 le programme s'arretera : "<< endl;
cin >> valeur;
if((valeur >= 0) &&(valeur <= 20 ))


{

accumulateur = accumulateur + valeur;
Nombre = Nombre + 1;

if (valeur < min)
{
min = valeur;
}

else if (valeur > max)
{
max = valeur;
}


}

else if ((valeur < 0 ) || (valeur > 20))

cout << "erreur "<< endl;


}

(total = accumulateur / Nombre);
cout<< "OK. "<< endl;
cout<< "la moyenne est : " << total << endl;
cout << "la valeur max est : " << max << " la valeur min est : " << min << endl;
return 0;
}


voila mon probleme est le suivant comment faire pour que si la premiere valeur saisis est -1 le prog ne plante pas je pence qu'il faudré prévoir lorsque total = 0 mais je ne sais pas ou le placé ds mon code...
merci d'avance
A voir également:

3 réponses

Salut,

Le problème vient de cette ligne:
(total = accumulateur / Nombre);

Si tu entres -1 à la première itération alors Nombre=0 et la division par 0 fait planter le programme

A+.
0
merci mais ça je l'avais deviné...
donc comment faire pour qu'il y est une option ou total = 0 dumoins comment le codé
0
Eh bien tu dois juste tester la valeur de Nombre avant d'opérer:

if (Nombre > 0)
{
(total = accumulateur / Nombre);
cout<< "OK. "<< endl;
cout<< "la moyenne est : " << total << endl;
cout << "la valeur max est : " << max << " la valeur min est : " << min << endl;
}
else
{
cout << "vous devez saisir au moins une note "<< endl;
}

Vu?
0