Powershell und Aufzählungen?
Ich brauche hilfe könnte ihr mich bitte nicht sperren und mir einfach vor machen was falsch ist?
Ich soll etwas verbessern, wenn man $a eine zahl eingibt z.B. 45 dann kommt 6 raus, es soll aber nur 5 rauskommen und bis 50 zählen
$a = 0
$b = 0
[int]$a = Read-Host "Bitte geben sie eine Zahl ein"
if ($a -lt 50) {
Write-Host "Bedingung erfüllt"
while($a -lt 50){
$b = $b +1
$a = $a +1
}
}
write-host ($b +1 )
if ($a -gt 50) {
Write-Host "Bedingung nicht erfüllt"
}
Bitte geben sie eine Zahl ein: 45
Bedingung erfüllt
6
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"
}
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"
}
}