2016-10-28 11 views
-3

Я решил свой предыдущий вопрос, но после редактирования я начал добавлять некоторые строки. Это должно спросить возраст и все, что работает для меня, это EQU, а не LESS или GREA; Так работает только «Нет». Все остальное = «Синтаксис кода неверен». Спасибо за помощь раньше! Возможно даже этот. я не могу быть обеспокоен, чтобы добавить 4 строки в начало всего моего кода BTW так есть какие-либо советы, чтобы помочь мне сделать это быстрее:Проблема с LESS и GREA excetra, если команды

:Next1 
echo You know, %name%, I just really cannot differ how old you are. I would  love to know. Do not hesitate to say "No" if you would not really like to tell me, but I would like to know. 
set /p age 
if /i "%age%" EQU "No" goto :NoAge 
if /i "%age%" LESS 12 goto :Young 
if /i "%age%" GREA 12 goto :Older 
:Older 
if /i "%age%" LESS 18 goto :Teen 
goto :Adult 
:Young 
echo Oh, so you are quite young, are you! Well, that is ok, we can still have a little chat! 
set "%age%" Young 
:Teen 
Oh, a teenager... I AIN'T MESSIN' WIT' YOU! 
pause 
end 
:Adult 
echo Ah, a good old adult. Lovely! 
set "%age%" Older 
goto :Next2 
:NoAge 
echo Well, that is ok (as I did say!) So, do not worry! 
goto :Next2 
:Next2 
pause 
+2

считается прочитанным 'if /?'? Это 'lss' и' gtr' (или 'leq' и' geq') – Stephan

+1

вы также должны проверить синтаксис 'set' – Stephan

+0

О, хорошо. Я проверю – sirfused

ответ

0

здесь несколько изменений, перед продолжением вашего проекта вы действительно нужно кое-что прочитать.

:Next1 
echo You know, %name%, I just really cannot tell how old you are. 
echo Do not hesitate to say "No" if you would not really like to tell me, 
set /p "age=but I would like to know. " 
if /i "%age%" EQU "No" goto :NoAge 
if "%age%" LSS "12" goto :Young 
if "%age%" GTR "12" goto :Older 
goto :Next1 
:Older 
if "%age%" LSS "18" goto :Teen 
goto :Adult 
:Young 
echo Oh, so you are quite young, are you! 
echo Well, that is ok, we can still have a little chat! 
set "age=Young" 

:Teen 
Oh, a teenager... I AIN'T MESSIN' WIT' YOU! 
pause 
exit 
:Adult 
echo Ah, a good old adult. Lovely! 
set "age=Older" 
goto :Next2 
:NoAge 
echo Well, that is ok (as I did say!) So, do not worry! 
goto :Next2 
:Next2 
if /i "%age%" EQU "Young" goto :Young-next2 
goto :Adult-next2 
:Young-next2 
echo Young %name%, would you like to play a game of rock, paper, scissors? (Y/N) 
set /p "RPS=Y/N " 
if /i "%RPS%" EQU "Y" goto :Yes 
if /i "%RPS%" EQU "N" goto :No 
goto :Young-next2 

Вам необходимо заполнить что-то на пустой строке, вероятно, Гото, в зависимости от того, как вы собираетесь поговорить. Если вы этого не сделаете, код пойдет прямо на ярлык Teen.

+0

Не могли бы вы объяснить изменения, которые вы сделали? – sirfused

+0

Кроме того, я уверен, что у меня уже есть goto: Next2 на этой строке ... – sirfused

+0

О, нет, я не ... Спасибо – sirfused