Я делаю генератор случайных чисел с пакетными файлами - PullRequest
2 голосов
/ 05 апреля 2019

Я делаю генератор случайных чисел с пакетными файлами, и иногда он выдает ошибку и говорит "00", и зависает.начальное число для числа - текущая миллисекунда.какие-нибудь идеи, чтобы помочь?

Я пытался использовать операторы IF, чтобы проверить, находится ли начальное число / число выше определенного значения, как вы можете видеть в разделах кода: calc и: calc2, но все ещеошибки после 5 из 6 чисел генерируются.вот код:

@echo off
:seed
set seed=%time%
set result=%seed:~9,10%
echo seed:%result%
goto calc
:calc
echo generating...
set /a "num=%result%*%result%"
if %num% lss 1000 goto seed
set num=%num:~2,3%
cls
goto say
:say
cls
echo your number is %num%
echo press a key for another number
pause >nul
goto calc2
:calc2
cls
echo generating...
set /a "num=%num%*%num%"
if %num% lss 1000 set /a "num=%num%*2"&&goto calc2
set num=%num:~2,3%
goto say

Я также хочу, чтобы все выводимые числа были длиной в 2 цифры, но некоторые из них были длиной в три цифры.

1 Ответ

1 голос
/ 06 апреля 2019

вот законченный (и теперь работающий) код:

@echo off
:seed
set seed=%time%
set result=%seed:~9,10%
echo seed:%result%
goto calc
:calc
echo generating...
set /a "num=%result%*%result%"
if %num% lss 1000 goto seed
set num=%num:~2,3%
cls
goto say
:say
cls
echo your number is %num%
echo press a key for another number
pause >nul
goto calc2
:calc2
cls
echo generating...
set /a "num=%num%*%num%"
if %num% lss 1000 set /a "num=%num%*2"&&goto calc2
set num=%num:~2,3%
set /a "num=%num%+1"
goto say
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...