中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: BatProject 0.5.0 算号器。。 上一主题 | 下一主题
bxbian951122
初级用户





积分 50
发帖 8
注册 2009-11-13
状态 离线
『楼 主』:  BatProject 0.5.0 算号器。。

PS:第一届“BP杯”批处理大赛即将开始。敬请期待。。

-----------------------------------------------------------------------------

BatProject 0.5.0 下载地址。。
http://www.bathome.net/thread-7052-1-1.html

算号器。。
@echo off
setlocal enabledelayedexpansion
set p0=48&set p1=49&set p2=50&set p3=51&set p4=52&set p5=53
set p6=54&set p7=55&set p8=56&set p9=57&set pA=65&set pB=66
set pC=67&set pD=68&set pE=69&set pF=70
:back
cls
echo Neoix
echo By Rijn
echo.
set /p 源数=请输入序列号=
for /f "skip=1 delims=:" %%i in ('^(echo "%源数%"^&echo.^)^|findstr /o ".*"') do set/a l=%%i-5
if not "%l%"=="8" (echo 字符必须满足8位&goto back)
set scanf=%源数%
set sed=85930483
set regcode=0
:loop
call set str1=%scanf:~,1%
call set numtemp=%%p%str1%%%
set /a regcode=%regcode%+%sed%-(1024%%(%numtemp%))
set "scanf=%scanf:~1%"
if defined scanf goto loop
set 源数=%regcode%
set /a 源数=%源数% || goto :eof
:dosomething
set /a 余数 = %源数% %% 16
set /a 源数 /= 16
call :转换 %余数%
set 余数=%ret%
set 计算结果=%余数%%计算结果%
if %源数% lss 16 goto end
goto dosomething
:转换
set ret=
if "%1" == "10" set ret=A
if "%1" == "11" set ret=B
if "%1" == "12" set ret=C
if "%1" == "13" set ret=D
if "%1" == "14" set ret=E
if "%1" == "15" set ret=F
if %1 lss 10 set ret=%1
goto :eof

2010-2-4 16:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: