Board logo

标题: 根据出生年或年龄求生肖 [打印本页]

作者: abcd     时间: 2007-11-3 14:15    标题: 根据出生年或年龄求生肖


@echo off
:head
cls
echo.
echo ====================================
echo.
echo       输入1:出生年月查生肖
echo.
echo       输入2:年龄查生肖
echo.
echo       输入n:退出
echo.
echo ====================================
set /p var=请输入:
if /i %var%==1 goto top
if /i %var%==2 goto bottom
if /i %var%==n goto quit
goto head

:top
cls
set /p var=请输入您的出生年(N退出):

:quit
if /i %var%==n exit
if "%var%"=="" goto top
set str=鼠猪狗鸡猴羊马蛇龙兔虎牛
if %var% gtr %date:~0,4% (
  echo 输入的年份不能大于%date:~0,4%年
  pause>nul&goto top
)
set /a num=%date:~0,4%-2007,num%%=12
if %num%==0 goto out
if %num% gtr 0 (
  for /l %%i in (%num%,-1,1) do (
    call set str=%%str:~-1%%%%str:~0,-1%%
  )
  goto out
)
if %num% lss 0 set /a num=0-%num%
for /l %%i in (1,1,%num%) do (
  call set str=%%str:~1%%%%str:~0,1%%
)

:out
set /a ss=%date:~0,4%-%var%+1
cls
echo.
echo.
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::
echo.:::                                              :::
echo :::                  您今年%ss%岁                  :::
set /a ss%%=12
echo.:::                                              :::
call echo :::                    你属%%str:~%ss%,1%%                    :::
echo.:::                                              :::
echo :::                 出生于%var%年                 :::
echo.:::                                              :::
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::
pause>nul&goto head

:bottom
set /p var=请输入您的年龄:
set /a var=%date:~0,4%-%var%+1
goto quit

作者: fs2018     时间: 2007-11-3 16:46
太好了!
作者: echo     时间: 2007-11-3 21:26
唔,可以算命的批处理……
作者: zjl5     时间: 2007-11-4 17:19
好像没有你这么复杂
@echo off&setlocal enabledelayedexpansion
set sx=猴鸡狗猪鼠牛虎兔龙蛇马羊
set tg=庚辛壬癸甲乙丙丁戊己
set dz=申酉戌亥子丑寅卯辰巳午未
set /p year=请输入农历年:
set /a sxnum=%year% %% 12
set /a tgnum=%year:~-1%
echo/&echo %year%年生肖是:!sx:~%sxnum%,1!    农历 !tg:~%tgnum%,1!!dz:~%sxnum%,1! 年
pause>nul

作者: abcd     时间: 2007-11-4 17:40
首先,那个并不复杂,只能说是繁琐,不够精练

其次,4楼的并不简单
作者: wewe12     时间: 2007-11-4 22:53
看了这个贴,我决定在这里呆下去了!!