Conditions imbriquées

jeff458 - 16 août 2013 à 20:45
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 16 août 2013 à 21:03
Bonjour,

Voici un moment que je galère pour résoudre un petit problème que je croyais trivial.

Peut-on résoudre un problème de conditions imbriquées sans l'aide de goto, simplement avec des if et des else ?

Voici le diagramme simplifié de ce que je voudrais faire:

http://cjoint.com/13au/CHquLMbcCTK.htm

Avec des boucles, cela semble plus simple car on peut avoir recours à un break.

Je suis débutant et je vous remercie pour votre aide.


jeff

1 réponse

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
Modifié par Whismeril le 16/08/2013 à 21:05
Bonsoir, si je comprends bien ton diagramme en français:

Si 1 est vrai alors je fais l'action 1, sinon je fais l'action 2 et je sors.
Après avoir fait l'action 1 si 2 est vrai alors je fais l'action 2 et je sors, sinon je sors.

Ça n'est pas bien compliqué.

Tu écris une méthode Action1, et une autre Action2.

private void Action1()//je pars du principe que Action1 ne retourne rien (void) et n'a pas besoin de paramètres en entrée
{
    Console.WriteLine("Je fais l'action 1");
}


private bool Action2(int ValeurEntiere)// et là que Action2 doit retourner un booléen avec un paramètre entier
{
    Console.WriteLine("Je fais l'action 2");
    return (ValeurEntiere == 2);
}


Ensuite dans la méthode ou tu dois faire ton algorithme:

//...... il doit y avoir du code avant

if (Condition1)// Condition1 est soit une valeur booléen, soit une expression retournant un booléen 1!=2 par exemple
{
    //je lance Action1
    Action1();
    //Puis je regarde si je peux faire Action2
    if (Condition2)//idem Condition1
         Action2(3);
}
else
    Action2(2);//Sinon direct Action2
//



J'ai tapé de tête, il y a peut être des petites boulettes
1
Rejoignez-nous