[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. @color 4e
  3. set /p max="请输入最大值:":
  4. ::这里有点繁琐 鉴于我是小白 好多功能还不会使用 见谅。
  5. ::产生随机数
  6. :start1
  7. set num1=%random%
  8. if %num1% gtr %max% goto start1
  9. :start2
  10. set num2=%random%
  11. if %num2% gtr %max% goto start2
  12. if %num1% lss %num2% goto start1
  13. ::随机产生加减法
  14. if %random:~1,1% LSS 5 (goto plus) else (goto minus)
  15. ::加法
  16. :plus
  17. set /a true=%num1%+%num2%
  18. echo %num1%+%num2%=?
  19. goto judge
  20. ::减法
  21. :minus
  22. set /a true=%num1%-%num2%
  23. echo %num1%-%num2%=?
  24. ::判断结果
  25. :judge
  26. set /p typein="请输入结果:":
  27. if %true% equ %typein% (echo 恭喜你答对了!!
  28.                         goto end) else (
  29.                         echo 计算错误,正确答案是%true%
  30.                         goto end)
  31. :end
  32. @pause >nul
复制代码
写的不是一般的麻烦 不过应该符合要求了

贴上来之后才发现加法的判断有点小问题。。
9#是我修改过后的代码 看那个吧。。

[ 本帖最后由 robinsnelson 于 2010-9-20 13:57 编辑 ]

TOP

  1. @echo off
  2. @color 4e
  3. set /p max="请输入最大值:":
  4. ::随机产生加减法
  5. :loop
  6. if %random:~1,1% LSS 5 (goto plus) else (goto minus)
  7. ::加法
  8. :plus
  9. :start1
  10. set num1=%random%
  11. if %num1% gtr %max% goto start1
  12. :start2
  13. set num2=%random%
  14. if %num2% gtr %max% goto start2
  15. set /a true=%num1%+%num2%
  16. if %true% gtr %max% goto plus
  17. echo %num1%+%num2%=?
  18. goto judge
  19. ::减法
  20. :minus
  21. :start3
  22. set num1=%random%
  23. if %num1% gtr %max% goto start3
  24. :start4
  25. set num2=%random%
  26. if %num2% gtr %max% goto start4
  27. set /a true=%num1%-%num2%
  28. if %true% lss 0 goto minus
  29. echo %num1%-%num2%=?
  30. ::判断结果
  31. :judge
  32. set /p typein="请输入结果:":
  33. if %true% equ %typein% (echo 恭喜你答对了!!
  34.                         goto end) else (
  35.                         echo 计算错误,正确答案是%true%
  36.                         goto end)
  37. :end
  38. goto loop
  39. @pause >nul
复制代码
修改了一下 虽然代码更麻烦了 不过运行的快了一些 最后一个要求接受回车给出下个指令 不太会 所以我就全部设成循环了 退出的话 我想的是可以对那个tpyein的判断 给出输入特定字符退出 然后再执行一下exit命令 就不在里面写了

[ 本帖最后由 robinsnelson 于 2010-9-20 14:02 编辑 ]

TOP

回复 12楼 的帖子

超版大人 能不能给的提示多一些 我学批处理才几天 好多都没听说过 说实话 刚看到题目 我想到的就是我写出来的这些 或者给我说下您的QQ 我也好请教您不是
PS:回复帖子是不是没有通知啊 我都不知道有人回复了 是回来学习其他代码的时候才看到回复的。

TOP

  1. @echo off
  2. @color 4e
  3. set /p max="请输入最大值:":
  4. setlocal enabledelayedexpansion
  5. :loop
  6. set /a num1=%random%%%%max%+1
  7. set /a num2=%random%%%%max%+1
  8. set /a base=%random%%%2+1
  9. cls
  10. if %base% equ 1 (
  11.                 set /a true=%num1%+%num2%
  12.                 if !true! gtr %max% goto loop
  13.                 echo %num1%+%num2%=?
  14.                 ) else (
  15.                 set /a true=%num1%-%num2%
  16.                 if !true! lss 0 goto loop
  17.                 echo %num1%-%num2%=?
  18.                 )
  19. set /p typein="请输入答案:":
  20. if %typein% equ %true% (echo 恭喜你,答对啦!
  21.                        goto end) else (
  22.                        echo 计算错误,正确答案为%true%
  23.                        goto end)
  24. :end
  25. pause>nul
  26. goto loop
复制代码
参考前面几位前辈 我又写了一下 请管理员大人再看一下

TOP

返回列表