Problème de boucle FOR

salut ,
j'ai un affichage d'un nombre et je vais chaque fois décrémenter par 1 jusqu'à atteindre zéro j'ai utilisé la boucle FOR mais ça ne pas résoudre le problème par ce que j'ai 2 conditions càd je ne peux pas sortie de première condition jusqu'à la boucle for termine son calcul
comment je vais faire pour dès que je change la condition, la boucle for de première condition s'arrête

if (L==900)
{
for (c=5;c>0;c--){
lcd.setCursor(7, 1);
lcd.print(c);
lcd.print(" L" );

lcd.setCursor(0, 3);
float aff=((c*100)/5.5);
lcd.print(aff);
lcd.print(" Km" );
delay (1000);
}
}

else if (L!=900)
{
lcd.setCursor(7, 1);
lcd.print(c);
lcd.print(" L" );
lcd.setCursor(0, 3);
float aff=((c*100)/5.5);
lcd.print(aff);
lcd.print(" Km" );
}

merci d'avance

bonjour,
déjà code entre balise code </>

A quoi correspond le L
Exprime mieux le pb, car c'est un peu le foutoir ton explication.

comment je vais faire pour dès que je change la condition, la boucle for de première condition s'arrête

si je comprend un tant soit peu, tu veux stopper le FOR si L est différent de 900?

Le second argument de for contient la condition de maintient dans la boucle. Cette condition n'est pas nécessairement constituée que d'une valeur seuil. Tu peux utiliser n'importe quelle expression booléenne.
Par exemple:

for (c=5;c>0 && digitalRead(abort)==LOW;c--){

maintient dans la boucle si le nombre est supérieur à 0 et si la broche abort est à l'état bas. Dès qu'une de ces conditions disparaît le programme quitte la boucle for

je viens de découvrir un truc que je n'avais jamais testé car pas l'utilité :wink:

L'instruction for est assez souple; Chacun des 3 blocs d'arguments du for peut contenir plusieurs expressions

void setup() {
  // put your setup code here, to run once:
int a,b,c;
char chaine[25];
  Serial.begin(9600);
  Serial.println("Start");
  for(a=0,b=2;c<12;a++,b=b*2){
    c=b+a;
    sprintf(chaine,"a,b,c=%d,%d,%d",a,b,c);
    Serial.println(chaine);
  }
}

void loop() {
  // put your main code here, to run repeatedly:

}

Qui va donner

Start
a,b,c=0,2,2
a,b,c=1,4,5
a,b,c=2,8,10
a,b,c=3,16,19