在Windows下,编写一个批处理程序,要求能够从命令行中读入出生年月日,输出属相和星座。要求能连续处理多个输入,并能处理错误输入
时间: 2024-12-23 10:16:11 浏览: 9
在Windows环境下,你可以创建一个简单的批处理文件(也称为`.bat`文件),利用`set /p`命令从命令行获取用户输入,然后通过一些简单的计算来确定属相和星座。以下是编写批处理脚本的基本步骤:
```batch
@echo off
:main
echo 请输入出生年份(格式:YYYY-MM-DD):
set /P birthdate="请输入:"
rem 验证输入格式
if "%birthdate%" == "" (
echo 无效的输入,请重新输入!
goto main
) else if not "%birthdate%" match "^(19|20)\d{2}-[01]\d-[0123]\d$" (
echo 输入日期格式错误,应为YYYY-MM-DD!
goto main
)
rem 提取出生年、月、日
for /f "tokens=1,2,3 delims=-" %%a in ("%birthdate%") do (
set year=%%a
set month=%%b
set day=%%c
)
rem 计算属相和星座
set /a zodiac_year=%year%-1900 % 12
set /a zodiac_month=%month% % 13
if %zodiac_year% equ 0 (set zodiac_year=12)
if %zodiac_month% geq 9 (set zodiac=%year%-%zodiac_year%) else (set zodiac=(%year%-1)%zodiac_year%)
if %zodiac_month% leq 2 (
set constellation=Aries
) elif %zodiac_month% leq 4 (
set constellation=Taurus
) ... (添加剩余11个月对应的星座)
echo 属相:%zodiac%
echo 星座:%constellation%
pause
goto end
:end
```
在这个脚本中,我们首先提示用户输入出生日期并检查格式。然后,我们将日期分割成年、月、日,并计算出属相和星座。注意,星座部分需要填充完整的判断条件。
运行这个批处理文件,它会不断循环等待新的输入,直到用户停止输入或输入错误。当输入正确时,它将显示属相和星座。
阅读全文