在Windows下,编写“算命大师.bat”批处理程序,输入出生年月日,输出属相和星座。要求能连续处理多个输入,并能处理错误输入
时间: 2024-12-22 15:31:32 浏览: 16
在Windows环境下创建一个名为"算命大师.bat"的批处理文件,用于计算属相和星座,可以按照以下步骤操作:
首先,你需要创建一个文本文件,例如命名为`zodiac_calculator.txt`,内容如下,它包含了生肖和星座对应的关系以及一些基本的错误检查逻辑:
```text
@echo off
set /p year="请输入出生年份(格式:YYYY):"
set /a year%=year% %100 (这里的%100是取模运算)
if %year%==0 set year=19%year%
set /p month="请输入出生月份(1-12):"
if not "%month%"=="1" if not "%month%"=="2" if not "%month%"=="3" if not "%month%"=="4" if not "%month%"=="5" if not "%month%"=="6" if not "%month%"=="7" if not "%month%"=="8" if not "%month%"=="9" if not "%month%"=="10" if not "%month%"=="11" if not "%month%"=="12" (
echo 无效的月份!请重新输入。
goto invalid_month
)
set /p day="请输入出生日期(1-31):"
if not "%day%"=="1" if not "%day%"=="2" if not "%day%"=="3" if not "%day%"=="4" if not "%day%"=="5" if not "%day%"=="6" if not "%day%"=="7" if not "%day%"=="8" if not "%day%"=="9" if not "%day%"=="10" if not "%day%"=="11" if not "%day%"=="12" if not "%day%"=="13" if not "%day%"=="14" if not "%day%"=="15" if not "%day%"=="16" if not "%day%"=="17" if not "%day%"=="18" if not "%day%"=="19" if not "%day%"=="20" if not "%day%"=="21" if not "%day%"=="22" if not "%day%"=="23" if not "%day%"=="24" if not "%day%"=="25" if not "%day%"=="26" if not "%day%"=="27" if not "%day%"=="28" if not "%day%"=="29" if not "%day%"=="30" if not "%day%"=="31" (
echo 无效的日期!请重新输入。
goto invalid_day
)
set /a month_day=%month%*31+%day%
set local enabledelayedexpansion
for /l %%i in (1,1,12) do (
set /a days_in_month=0
for /l %%j in (1,1,31) do (
set /a days_in_month+=1
if !days_in_month! geq !month_day! (
set /a year-=1
set /a month_day-=days_in_month
set /a days_in_month=0
break
)
)
if !year!==%year:~2% set /a month%=%%i+12
if %month%==12 set /a year-=1
echo 属相:%year:~-4%, 星座:%month%/%day% (%year:~,4%) 输入正确。
goto end
:invalid_month
echo 无效的月份!请重新输入。
goto start
:invalid_day
echo 无效的日期!请重新输入。
goto start
:end
pause
```
保存此文件后将其设置为批处理文件格式(右键点击 -> 属性 -> 打开方式 -> 使用选择的应用程序... -> 选择cmd.exe)。然后双击运行这个批处理文件,它会提示用户输入出生年月日,验证输入并输出相应的属相和星座。
阅读全文