Sortir d'une boucle for avant la fin????

Résolu/Fermé
goodsayan - 21 févr. 2006 à 16:52
 pom - 22 févr. 2006 à 11:18
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

5 réponses

teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
21 févr. 2006 à 17:00
Salut
Réassigne ton index dans la boucle à une valeur supérieure au maximum de ta boucle :)
11
goodsayan Messages postés 61 Date d'inscription mardi 15 février 2005 Statut Membre Dernière intervention 8 décembre 2014 12
22 févr. 2006 à 09:36
Merci en effet il y a une commande exit... Ca fonctionne. Merci encore!
7
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
22 févr. 2006 à 09:41
de rien m'sieur
bonne journée
0
Une autre solution, sans utiliser le exit ou le break, serait d'utiliser un while ou un do... while à la place du for
2
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
21 févr. 2006 à 17:13
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.
0

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

Posez votre question
kun.sasuke Messages postés 20 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 13 juin 2007 4
21 févr. 2006 à 17:38
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'
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
21 févr. 2006 à 17:39
Wep, c'est bien break en c.

Après edition:
Oups, c'est pas du C, bon je sors alors :-|
0