中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]谁能帮我做个随机预测彩票号码的批处理?
作者:
标题: [求助]谁能帮我做个随机预测彩票号码的批处理? 上一主题 | 下一主题
gcdj
初级用户





积分 64
发帖 57
注册 2010-2-25
状态 离线
『楼 主』:  [求助]谁能帮我做个随机预测彩票号码的批处理?

谁能帮我做个用bat随机预测彩票的文件?

要求四种类类型。


第一种  随机 0~9 的数字      要求随机显示三位数字

第二种  随机 0~9  数字         要求随机显示四位数字

第三种  随机 1~31  数字        要求随机显示五位数字

第四种  随机1~43  数字        要求随机显示六位数字

要求有个菜单
选择1就出现3位数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择2就出现4位数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择3就出现5位数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择4就出现6位数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择5就出现1到4的全部数字,出现数字后还可以在选1,2,3,4,5,0并出现新的随机数字
选择0退出。

[ Last edited by gcdj on 2010-3-5 at 21:18 ]

2010-3-5 21:08
查看资料  发送邮件  发短消息 网志  OICQ (12403198)  编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  

使用set /p和if 制作菜单,使用set /a%和RANDOM%求余组合随机数字



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-3-5 21:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
000000000000000
初级用户





积分 49
发帖 42
注册 2009-11-26
状态 离线
『第 3 楼』:  


@echo off
setlocal enabledelayedexpansion
:input
echo 1. 0-9, 随机三位
echo 2. 0-9, 随机四位
echo 3. 1-31, 随机五位
echo 4. 1-43, 随机六位
echo 5. 显示前四项结果
echo 0. 退出
echo;
set /p i=请选择:
cls
if "!i!"=="0" exit
if "!i!"=="1" call :n 3 10 0
if "!i!"=="2" call :n 4 10 0
if "!i!"=="3" call :n 5 31 1
if "!i!"=="4" call :n 6 43 1
if not "!i!"=="5" goto input
call :n 3 10 0
call :n 4 10 0
call :n 5 31 1
call :n 6 43 1
goto input

:n
for /l %%a in (1 1 %1) do (
    set /a n=!random! %% %2 + %3
    set /p =!n! <nul
)
echo;
echo =======================
if %i% neq 5 goto input
直接回车, 是重复上次的选择.

[ Last edited by 000000000000000 on 2010-3-5 at 23:06 ]

2010-3-5 22:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

参考:福利彩票双色球自动选号器之批处理彩色版
http://bbs.bathome.net/thread-3109-1-1.html



2010-3-5 23:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
gcdj
初级用户





积分 64
发帖 57
注册 2010-2-25
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by 000000000000000 at 2010-3-5 22:51:
[code]@echo off
setlocal enabledelayedexpansion
:input
echo 1. 0-9, 随机三位
echo 2. 0-9, 随机四位
echo 3. 1-31, 随机五位
echo 4. 1-43, 随机六位
echo 5. 显示前四项结果 ...

谢谢您的代码,我试验了,不错!

就是有一个问题,随机出现的数字有重复的。之前我忽略了这一点。

2010-3-6 07:49
查看资料  发送邮件  发短消息 网志  OICQ (12403198)  编辑帖子  回复  引用回复
gcdj
初级用户





积分 64
发帖 57
注册 2010-2-25
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by HAT at 2010-3-5 23:47:
参考:福利彩票双色球自动选号器之批处理彩色版
http://bbs.bathome.net/thread-3109-1-1.html

这个也不错!收下啦!谢谢!

2010-3-6 08:12
查看资料  发送邮件  发短消息 网志  OICQ (12403198)  编辑帖子  回复  引用回复
000000000000000
初级用户





积分 49
发帖 42
注册 2009-11-26
状态 离线
『第 7 楼』:  


@echo off
setlocal enabledelayedexpansion
:input
echo 1. 0-9, 随机三位
echo 2. 0-9, 随机四位
echo 3. 1-31, 随机五位
echo 4. 1-43, 随机六位
echo 5. 显示前四项结果
echo 0. 退出
echo;
set /p i=请选择:
cls
if "!i!"=="0" exit
if "!i!"=="1" call :n 3 10 0
if "!i!"=="2" call :n 4 10 0
if "!i!"=="3" call :n 5 31 1
if "!i!"=="4" call :n 6 43 1
if not "!i!"=="5" goto input
call :n 3 10 0
call :n 4 10 0
call :n 5 31 1
call :n 6 43 1
goto input

:n
setlocal
set loop=%1

:loop
set /a n=%random% %% %2 + %3
if defined %n% goto loop
set %n%=d
set /p =%n% <nul
set /a loop-=1
if %loop% neq 0 goto loop

endlocal

echo;
echo =======================
if %i% neq 5 goto input


2010-3-6 11:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gcdj
初级用户





积分 64
发帖 57
注册 2010-2-25
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by 000000000000000 at 2010-3-6 11:21:
[code]@echo off
setlocal enabledelayedexpansion
:input
echo 1. 0-9, 随机三位
echo 2. 0-9, 随机四位
echo 3. 1-31, 随机五位
echo 4. 1-43, 随机六位
echo 5. 显示前四项结果 ...

问题解决了!谢谢~~

2010-3-9 07:50
查看资料  发送邮件  发短消息 网志  OICQ (12403198)  编辑帖子  回复  引用回复

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


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



论坛跳转: