switch-case Umgebung
HAllo, werde einfach nicht schlau, warum das nicht klappt:
die erste case Bedingung ist nur zum Testen eingefügt, denn TN müsste den Wert 0 haben (habe ich auch durch alert(TN) geprüft. Es geht um eine Berechnung in Abhängigkeit der Teilnehmerzahl eines Kurses. TN ist dann die ZAhl der Teilnehmer. Jetzige Ausgabe ist 3,5. Das dürfte der Wert aus der zweiten case-Bedingung sein. Aber wie gesagt: TN ist 0 (sollte 0 sein). HAt jemand einen Hinweis?
======================= schnipp =======================
let TN := number('Anzahl TN Päd');
let Basis := 102 * 2.5 / 19;
switch TN do
case TN = 0:
88
case 0 < TN and TN < 10:
round(Basis * 0.5) / 2
case 9 < TN and TN < 12:
round(Basis * 0.7) / 2
case 11 < TN and TN < 15:
round(Basis * 0.8) / 2
case 14 < TN and TN < 18:
round(Basis * 0.9) / 2
case 18:
round(Basis) / 2
case TN > 18:
round(Basis * 1.1) / 2
default:
0
end
======================= schnapp =======================
4 Antworten
-
case 0 < TN and TN < 10:
case statements can only contain values but not expressions
-
Vorschlag:
*
switch TN > 0 do
case TN < 10:round(Basis * 0.5) / 2
case TN < 12:round(Basis * 0.7) / 2
case TN < 15:round(Basis * 0.8) / 2
case TN < 18:round(Basis * 0.9) / 2
case TN = 18:round(Basis) / 2
case TN > 18:round(Basis * 1.1) / 2
default:
0
end
*
-
Hallo Maurice,
---
let TN := number('Anzahl TN Päd');
let Basis := 102 * 2.5 / 19;
switch TN >= 0 do
case TN > 0 and TN < 10:
round(Basis * 0.5) / 2
case TN > 9 and TN < 12:
round(Basis * 0.7) / 2
case TN > 11 and TN < 15:
round(Basis * 0.8) / 2
case TN > 14 and TN < 18:
round(Basis * 0.9) / 2
case TN = 18:
round(Basis) / 2
case TN > 18:
round(Basis * 1.1) / 2
default:
0
end
---
Leo
-
Danke Leo, worked!
Content aside
- vor 3 JahrenZuletzt aktiv
- 4Antworten
- 200Ansichten