From 3afd01a0348e8a39a111a5b07d8777c64de85a83 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Mon, 24 Jun 2024 10:42:14 +0200 Subject: [PATCH] =?UTF-8?q?code.js=20:=20ajout=20contr=C3=B4le=20ordre=20(?= =?UTF-8?q?d=C3=A9)croissant=20responsable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code.js | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 102 insertions(+), 1 deletion(-) diff --git a/code.js b/code.js index 38cb39a..518e97f 100644 --- a/code.js +++ b/code.js @@ -150,7 +150,8 @@ return getNumero(${categorie}, ${categories_num}); // ------------------------------------------------------------------------ // sélectionner un parent parmi les nb premiers éléments du tableau -// lesnoms +// lesnoms ; le choix se fait uniquement sur des personnes qui ne sont +// pas rattachées, donc qui n'ont pas de parent function selParent(lesnoms, lesparents, nb) { while(true) { @@ -460,6 +461,106 @@ else if (${nb_total_membres} > 2) } } +// ------------------------------------------------------------------------ +// contrôler si les membres sont triés par ordre (dé)croissant de la colonne responsable +// colonne responsable non vide en tête +// +// 1) au moins 2 oui dans la colonne responsable (donc forcément les deux premiers) +// - membre1 < membre2 => croissant +// - membre1 > membre2 => décroissant +// - membre1 = membre2 +// - numéro1 < numéro 2 => croissant +// - numéro1 > numéro 2 => décroissant +// 2) un seul oui dans la colonne responsable (donc le premier) +// - numéro2 < numéro 3 => croissant +// - numéro2 > numéro 3 => décroissant + +if (${nb_resp} >= 2) +{ + if (${membre1}.localeCompare(${membre2}) < 0) + { + // croissant + } + else if (${membre1}.localeCompare(${membre2}) > 0) + { + // décroissant + } + else if (${numero1} < ${numero2}) + { + // croissant + } + else //if (${numero1} > ${numero2}) + { + // décroissant + } +} +// un seul responsable +else if (${nb_total_membres} > 2) +{ + if (${membre2}.localeCompare(${membre3}) < 0) + { + // croissant + } + else if (${membre2}.localeCompare(${membre3}) > 0) + { + // décroissant + } + else if (${numero2} < ${numero3}) + { + // croissant + } + else //if (${numero2} > ${numero3}) + { + // décroissant + } +} + +// simplification ordre croissant +if (${nb_resp}) >= 2) +{ + if (${membre1}.localeCompare(${membre2}) > 0 + || + (${membre1}.localeCompare(${membre2}) == 0 + && ${numero1} > ${numero2})) + { + // décroissant => inverser + } +} +// un seul responsable +else if (${nb_total_membres} > 2) +{ + if (${membre2}.localeCompare(${membre3}) > 0 + || + (${membre2}.localeCompare(${membre3}) == 0 + && ${numero2} > ${numero3})) + { + // décroissant => inverser + } +} + +// simplification ordre décroissant +if (${nb_resp}) >= 2) +{ + if (${membre1}.localeCompare(${membre2}) < 0 + || + (${membre1}.localeCompare(${membre2}) == 0 + && ${numero1} < ${numero2})) + { + // croissant => inverser + } +} +// un seul responsable +else if (${nb_total_membres} > 2) +{ + if (${membre2}.localeCompare(${membre3}) < 0 + || + (${membre2}.localeCompare(${membre3}) == 0 + && ${numero2} < ${numero3})) + { + // croissant => inverser + } +} + let numeros = [ 8, 5, 9, 2, 3, 6, 7, 4, 1 ]; let noms = [ "Yopduu Cxùbvnn", "Xeosnm Rixwxé", "Vonôdjz Jcpùuèf", "Tnczgèb Ùttypmt",