Sortir d'une boucle for avant la fin????
Résolu
goodsayan
-
pom -
pom -
Salut,
J'essaye de faire un petit programme sous scilab pour calculer certains paramètres. Voici mon prog:
A=fscanfMat("C:\Documents and Settings\Admin\Mes documents\Fichier\L10.txt");
ME=input("Entrer la moyenne générale de la courbe 1");
MD=input("Entrer la moyenne générale de la courbe 2");
x=input("Entrer le point de la courbe 1");
for x=1:20,
BMD1=A(x,1);
BED1=A(x,2);
BME1=A(x,3);
BEE1=A(x,4);
end,
y=input("Entrer le point de la courbe 2");
for y=1:20,
BMD2=A(y,1);
BED2=A(y,2);
BME2=A(y,3);
BEE2=A(y,4);
end,
Total1=BMD1+BEE2-ME,
Total2=BED1+BME2-MD,
TotalFinal=Total1+Total2,
for z=1:10,
z=input("Voulez faire un autre calcul oui:1 non:2");
select z,
case 1,
x=input("Entrer le point de la courbe 1");
for x=1:20,
BMD1=A(x,1);
BED1=A(x,2);
BME1=A(x,3);
BEE1=A(x,4);
end,
y=input("Entrer le point de la courbe 2");
for y=1:20,
BMD2=A(y,1);
BED2=A(y,2);
BME2=A(y,3);
BEE2=A(y,4);
end,
Total1=BMD1+BEE2-ME,
Total2=BED1+BME2-MD,
TotalFinal=Total1+Total2,
case 2,
disp("fin du calcul")
end
end
Cela marche correctement sauf que parfois je n'ai pas besoin d'executer 10 fois la boucle for dans la deuxieme partie du prog. Du coup si je veux sortir il faut que tape "2" tant que la variable z n'a pas atteint la valeur 10... Je voudrais si l'utilisateur tape 1 continuer les calculs et si c'est 2 que le prog s'arrete sans ce désagrément.
Merci beaucoup
J'essaye de faire un petit programme sous scilab pour calculer certains paramètres. Voici mon prog:
A=fscanfMat("C:\Documents and Settings\Admin\Mes documents\Fichier\L10.txt");
ME=input("Entrer la moyenne générale de la courbe 1");
MD=input("Entrer la moyenne générale de la courbe 2");
x=input("Entrer le point de la courbe 1");
for x=1:20,
BMD1=A(x,1);
BED1=A(x,2);
BME1=A(x,3);
BEE1=A(x,4);
end,
y=input("Entrer le point de la courbe 2");
for y=1:20,
BMD2=A(y,1);
BED2=A(y,2);
BME2=A(y,3);
BEE2=A(y,4);
end,
Total1=BMD1+BEE2-ME,
Total2=BED1+BME2-MD,
TotalFinal=Total1+Total2,
for z=1:10,
z=input("Voulez faire un autre calcul oui:1 non:2");
select z,
case 1,
x=input("Entrer le point de la courbe 1");
for x=1:20,
BMD1=A(x,1);
BED1=A(x,2);
BME1=A(x,3);
BEE1=A(x,4);
end,
y=input("Entrer le point de la courbe 2");
for y=1:20,
BMD2=A(y,1);
BED2=A(y,2);
BME2=A(y,3);
BEE2=A(y,4);
end,
Total1=BMD1+BEE2-ME,
Total2=BED1+BME2-MD,
TotalFinal=Total1+Total2,
case 2,
disp("fin du calcul")
end
end
Cela marche correctement sauf que parfois je n'ai pas besoin d'executer 10 fois la boucle for dans la deuxieme partie du prog. Du coup si je veux sortir il faut que tape "2" tant que la variable z n'a pas atteint la valeur 10... Je voudrais si l'utilisateur tape 1 continuer les calculs et si c'est 2 que le prog s'arrete sans ce désagrément.
Merci beaucoup
5 réponses
-
Salut
Réassigne ton index dans la boucle à une valeur supérieure au maximum de ta boucle :)
-
Merci en effet il y a une commande exit... Ca fonctionne. Merci encore!
-
Une autre solution, sans utiliser le exit ou le break, serait d'utiliser un while ou un do... while à la place du for
-
Sinon il doit y avoir une fonction du type exit qui permet de sortir de la boucle. ça existe en c ça doit bien exister avec ton language.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
je connais scilab, cherche dans l'aide s'il y a une espece de 'break', sinon regarde dans la doc des boucles, tape exit, en ce qui concerne scilab, j'ai toujours eu affaire à 'help'