msoin
Messages postés10Date d'inscriptionjeudi 25 septembre 2003StatutMembreDernière intervention26 octobre 2003
-
26 oct. 2003 à 12:22
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
26 oct. 2003 à 13:49
jour'
alors, voila, j'apprend en ce moment les fonctions à argument, et ce qui se met clocher c'est une boucle!!!!
Donc voici mon code, le pb se situe certainement dans la partie "main"en bas
#include
#include <stdlib.h>
//valeurs au carré
int carre(int valeur)
{
return(valeur*valeur);
}
//addition de ces valeurs jusqu'à ce que l'une <0 .
int addition()
{
int accumulation=0;
for(;;)
{
int entree;
cout<<"entre un nombre :\n";
cin>>entree;
if(entree<0)
{
break;
}
accumulation = accumulation +(int)carre(entree);
}
return accumulation;
}
//partie principale
int main()
{
int total;
do
{
cout <<"on entrera des nombres,ceux-ci seront mis au carre puis additionnes\n";
int total=(int)addition();
cout <<total<<"\n";
cout<<"fini\n";
}while (total!=0);
system("PAUSE");
return 0;
}
le pb c'est que la boucle ne s'arrete jamais, même si total=0.
J'y comprend pas grand chose, à moi ça me parait clair.
La preuve que total prend la valeur 0 est que si on execute le prog, il affiche la valeur "total", qu'on peut s'arranger à être égale à 0 en entrant que des nombres inf à 0.
Merci :)