Logo Hardware.com.br
BatManscrip
BatManscrip Novo Membro Registrado
7 Mensagens 0 Curtidas

Preciso de ajuda com meu script .bat

#1 Por BatManscrip 22/02/2023 - 12:00
Fala galera preciso de uma ajuda é que sempre quando vou executar e tenta faze o teste no meu .bat ele sai donada podem me ajudar? sou meio que iniciante nessa area
Script:
:1
set /p numero=quanto e 2+2:
if %numero% == 4 (goto :2) else (goto :fim2)
:2
echo Voce acertou!
pause
:2
if %numero1% == 9 (goto :3) else (goto :fim2)
set /p numero1=quanto e 5=4:
:3
echo voce acertou!
set /p numero2=quanto é 10+10
if %numero2% == 20 (goto :1) else (goto :fim2)
:fim2
echo Voce errou!
pause
cls
goto :1


obs: esse script é de matemática usado pra eu me aprimora
aguardo respostas abraço!
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#2 Por esquiloesper...
26/02/2023 - 11:24
Fecha porque existe um erro no código.
O segundo IF testa a variável "numero1" antes dela existir, pois será declarada apenas na linha seguinte. E a solução, obviamente, é desfazer a inversão.
Além disso, a opção ":2" está duplicada. Sanitize removendo a segunda ocorrência.

Nessas condições o código seria:
[code=dos]:1
set /p numero=quanto e 2+2:
if %numero% == 4 (goto :2) else (goto :fim2)
:2
echo Voce acertou!
pause
set /p numero1=quanto e 5=4:
if %numero1% == 9 (goto :3) else (goto :fim2)
:3
echo voce acertou!
set /p numero2=quanto é 10+10
if %numero2% == 20 (goto :1) else (goto :fim2)
:fim2
echo Voce errou!
pause
cls
goto :1[/code]

Se desejar não mais acompanhar a execução linha por linha (modo de depuração) só precisa acrescentar [plain] @echo off [/plain] bem no início, como primeira linha do código.
"Pauses" ali só fazem atrasar o andamento da execução... E por isso eu os removeria também. stick_out_tongue.png
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal