Powershell und Aufzählungen?

2 Antworten

So wie ich das sehe, muß es am Ende nur $b sein und nicht $b +1

Wenn du "Write-Host ($b + 1)" schreibst, schreibt er natürlich eins mehr, als was er vorher errechnet hat. Du musst die +1 da einfach rausnehmen.

Du kannst das Programm übrigens auch verkürzen:

[int]$a = Read-Host "Bitte geben sie eine Zahl ein"
if($a -lt 50) {
    Write-Host "Bedingung erfüllt"
    Write-Host (50-$a)
} else {
    Write-Host "Bedingung nicht erfüllt"
}               
daCypher  07.07.2021, 10:21

PS: Achso, er soll danach dann noch bis 50 zählen? Dann musst du halt eine while-Schleife rein machen und jedes mal den aktuellen Wert von $a ausgeben:

function countTo50 {
[int]$a =Read-Host "Bitte geben Sie eine Zahl ein"
    if($a -lt 50) {
        Write-Host "Bedingung erfüllt"
        Write-Host (50-$a)
        while($a -le 50) {
            Write-Host $a
            $a += 1
        }
    } else {
        Write-Host "Bedingung nicht erfüllt"
    }
}
0