Batch Zufallszahl begrenzen!
Hallo Leute,
Ich möchte in folgendem Code ein Problem lösen. (Eine Zufallszahl begrenzen, z.B.: Die Kommandozeile soll eine Zufallzahl wischen 8 und 17 ausgeben) Es klappt bei mir irgendwie nicht, habt ihr eine Lösung ?
Das Problem ist, dass er ständig die Fehlermeldung "Division durch 0" anzeigt.
Habt ihr eine Idee, die mir helfen könnte ? Danke im Voraus !
Grüße Frexed
Ich möchte in folgendem Code ein Problem lösen. (Eine Zufallszahl begrenzen, z.B.: Die Kommandozeile soll eine Zufallzahl wischen 8 und 17 ausgeben) Es klappt bei mir irgendwie nicht, habt ihr eine Lösung ?
@echo off
color a
title Zufallsgenerator
echo Zufallsgenerator
echo.
echo 1) Starten
echo 2) Verlassen
echo.
set /p Option= Deine Option:
if %Option% == 1 ( goto 1 )
if %Option% == 2 ( goto 2 )
:Error
cls
echo Ein Fehler ist aufgetreten !
pause>NUL
exit
{{comment_single_line_double_colon:1}}
exit
:1
cls
echo Gib die minimale Zahl an!
echo.
set /p Option1= Deine minimale Zahl:
cls
echo Gib die maximale Zahl an!
echo.
set /p Option2= Deine maximale Zahl:
cls
:again
set /a Option2 += 1
set /a Zufallszahl=%random% %%Option1%+%%Option2%
if %Zufallszahl% == 0 ( set /a Z += 1 )
echo Deine Zufallszahl: %Z% !
pause>NUL
goto 1
Das Problem ist, dass er ständig die Fehlermeldung "Division durch 0" anzeigt.
Habt ihr eine Idee, die mir helfen könnte ? Danke im Voraus !
Grüße Frexed
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288542
Url: https://administrator.de/contentid/288542
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
3 Kommentare
Neuester Kommentar
Moin.
Für das mehrfache Generieren von Zahlen einfach das ganze in eine Subroutine packen
Gruß grexit
@echo off
set /a min=8
set /a max=17
set /a rnd=%random% * (%max% - %min% + 1) / 32768 + %min%
echo %rnd%
@echo off & setlocal enabledelayedexpansion
set /a min=8
set /a max=17
echo Generiere 10 Zufallszahlen im Bereich %min%-%max%:
for /L %%a in (1 1 10) do @(
call :rand %min% %max%
echo !rnd!
)
goto :eof
:rand
set /a rnd=%random% * (%2 - %1 + 1) / 32768 + %1
goto :eof