Probleme prog c++

aluto -  
 tech_57 -
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
Configuration: Windows Vista Internet Explorer 7.0

3 réponses

  1. tech_57
     
    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
  2. aluto
     
    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
  3. tech_57
     
    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