Problème de variable locales

Résolu/Fermé
BenjD90
Messages postés
83
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
20 avril 2011
- 21 avril 2009 à 16:36
 le père - 21 avril 2009 à 17:18
Bonjour,

je ne sais pas pourquoi mais la condition (vpour-vboucle) >= 1 ligne 20</code> ne fonctionne pas !!
Voici mon code :


double vboucle = 0; 
                for(int vdec2 = 1; vdec2 < aMax-1; vdec2 = vdec2 + 1)
                {
                    double vpour = 0;
                    vboucle = vpour;
                    if(t[vdec2] == true)
                    {
                        for(int vdec3 =vdec2; vdec3 < aMax-1; vdec3 = vdec3 + 1)
                        {
                           if(vdec3 != vdec2 && (vdec3%vdec2) == 0)
                           {
                               t[vdec3] =false;
                           }
                        }
                        if( aMax > 10000)
                        {
                            vpour =  ((double)vdec2/(double)aMax)*100.0;
                            
                            // si on a gagné au moins .1% ou 1%
                            if((vpour-vboucle) >= 0.1)
                            {
                                vrect2.changeSize(30, (int)(vpour*10));
                                 ///////////////////////////////////////
                            //System.out.println(" "+vdec2+" | "+vpour+"%");
                            vaff.setaffiche(/*(int)*/vpour );
                            ///////////////////////////////////////
                            }
                            if((vpour-vboucle) >= 1)
                            {
                                vrect_2.changeSize(30, (int)(vpour*10));
//                         vrect__2.changeSize((int)(vpour));
//                         vrect___2.changeSize((int)(vpour));
                            }
                        }
                    }
                    
                }

Merci d'avance pour votre aide

5 réponses

Bonjour

As-tu affiché les valeurs de vpour et vboucle juste avant le if, pour dire que la condition ne fonctionne pas ?
Peut-être que ces variables n'ont pas les valeurs que tu crois, ou que aMax est <10000 et que tu ne passes même pas par là ?
0
BenjD90
Messages postés
83
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
20 avril 2011
1
21 avril 2009 à 16:55
slt,

en effet c'est une bonne idée, mais j'obtiens que vboucle reste à 0.0
Crois tu que ça puisse être dut à une histoire de { et }

merci
0
BenjD90
Messages postés
83
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
20 avril 2011
1
21 avril 2009 à 17:06
effet, j'ai trouvé c'est 2 lignes à intervertir
0
Que vboucle reste à 0, je l'avais vu d'après ton programme. Tu l'initialises à vpour juste après avoir mis vpour à 0. Ensuite, rien ne vient modifier vboucle, pourquoi changerait-il ?
Mais vpour, lui est censé évoluer et je ne vois pas ce qui empêche vpour-vboucle>1
Et si vpour dépasse 1, le traitement après le if doit bbien être exécuté. Vois-tu vpour dépasser 1 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'avais été interrompu pendant la rédaction de ma réponse. Heureux que tu aies trouvé la solution.
0