中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 用批处理做个练习计算题的程序
作者:
标题: 用批处理做个练习计算题的程序 上一主题 | 下一主题
qieagle
初级用户





积分 20
发帖 8
注册 2007-4-19
状态 离线
『楼 主』:  用批处理做个练习计算题的程序

  哇!批处理室真热闹啊!
  我有个想法,希望通过批处理文件来实现,请各位大侠帮帮忙。应该能实现的!
  我儿子正在读小学,想用一个程序让他练习计算题,要有不同的难度和类型:
  难度:通过输入数字确定范围,如:20以内、100以内,等等;
  类型:加、减、乘、除,除法余数为0。
  我知道,有很多软件可以实现这个功能,但我就是喜欢批处理!没办法。:P


[ Last edited by qieagle on 2007-4-22 at 07:08 PM ]

2007-4-23 08:06
查看资料  发送邮件  发短消息 网志  OICQ (309715707)  编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 2 楼』:  

当然,P处理可以实现你的愿望,但是,有可能不是很完美。

至于,你的问题,应该来说,不难解决。
重要的是,你的加、减、乘、除,是2项计算,还是多项,如果是多项目,是不是要考虑混合计算(包括加减乘除)

2007-4-23 08:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qieagle
初级用户





积分 20
发帖 8
注册 2007-4-19
状态 离线
『第 3 楼』:  

  呵呵!
  先来个一步计算的吧。

2007-4-24 04:24
查看资料  发送邮件  发短消息 网志  OICQ (309715707)  编辑帖子  回复  引用回复
lslcxlsl
初级用户





积分 52
发帖 24
注册 2007-8-24
状态 离线
『第 4 楼』:  

现学现卖一个

@echo off
setlocal enabledelayedexpansion
set /a a=1

:test
    set /a _num!a!=%random:~-3%
    if not defined !_num%a%!  set /a a+=1
    if !a! LSS 6 goto :test
set /a d =%_num1%*%_num2%+%_num3%-%_num4%/%_num5%
echo %_num1%*%_num2%+%_num3%-%_num4%/%_num5%= %d% >>c:\gs.txt

pause>nul


这个也许可以帮你   
1, !=%random:~-3%   3就是随机产生的位数
2,echo 显示的时候 加上了运算符号。

[ Last edited by lslcxlsl on 2008-8-19 at 03:04 PM ]

2008-8-19 14:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 5 楼』:  

你儿子要是乘机学会用批处理解你的计算题 那就牛逼喽



综合型编程论坛

我的作品索引
  
2008-8-19 14:42
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
ccily2701
初级用户





积分 80
发帖 45
注册 2006-9-22
来自 jiangxi
状态 离线
『第 6 楼』:  

楼上的。。你真逗

2008-8-21 17:02
查看资料  发送邮件  发短消息 网志  OICQ (27012508)  编辑帖子  回复  引用回复
qq152576450
新手上路

新手上路


积分 6
发帖 3
注册 2008-8-21
来自 川
状态 离线
『第 7 楼』:  

@echo off &&color 1f
:start
set /p n=多少以内的运算
set /a f=%random%%%4
:main1
set /a a=%random%%%%n%
set /a b=%random%%%%n%
if %f%==1 goto test1
if %f%==3 goto test2
:main2
if %f%==0 set k=+ && set /a op=%a%+%b%
if %f%==1 set k=- &&set /a op=%a%-%b%
if %f%==2 set k=X && set /a op=%a%*%b%
if %f%==3 set k=/ && set /a op=%a%/%b%
set /p answer=%a% %k% %b% ^=
if %answer%==%op% (echo right) else (echo WRONG The right answer is %op% )
pause>nul
goto start
:test1
set /a t1=%a%-%b%
if /I %t1% geq 0 goto main2 else goto main1
:test2
set /a t2=%a%%%%b%
if %t2%==0 goto main2 else goto main1

2008-8-21 22:35
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (152576450)  编辑帖子  回复  引用回复

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


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



论坛跳转: