IT你好

加入 |登录

IT你好技术论坛广场IT档案袋 › 查看主题

59

查看

2

回复
返回列表

Administrator

Administrator

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

帖子
297 
精华
积分
1400 
UID
1467 
go

用批处理做的计算题出题程序

1
发表于 2012-1-21 12:03 | 只看该作者 | 倒序看帖 | 打印
本文是转载的。具体地址找不到了……


用批处理做的小程序,练习四则运算
用原作者的话,是教表弟学习的程序……
反正是一个实例,就拿来给大家研究了~
把以下代码复制到记事本,保存为.bat文件,打开即可。
  1. @echo off
  2. set /a duitimes=0
  3. set /a cuotimes=0
  4. set /a times=0
  5. :top
  6. title …………………………………………小学生四则运算练习…………………………………………
  7. color 1a
  8. echo.
  9. echo.
  10. echo         你想进行哪个范围内的练习?
  11. echo.
  12. echo         注意事项:1、练习进行时按 Q 键显示得分并退出
  13. echo                   2、对于除法,只输入整数部分即可
  14. echo            1、10以内
  15. echo            2、100以内
  16. echo            3、1000以内
  17. echo            4、10000以内
  18. echo            5、32767以内
  19. set /p fanwei=     请你选择:
  20. if %fanwei% equ 1 set /a fanwei=10&goto start
  21. if %fanwei% equ 2 set /a fanwei=100&goto start
  22. if %fanwei% equ 3 set /a fanwei=1000&goto start
  23. if %fanwei% equ 4 set /a fanwei=10000&goto start
  24. if %fanwei% equ 5 set /a fanwei=32767&goto start
  25. cls&goto top
  26. :start
  27. :a1
  28. set a1=%random%
  29. set /a a1=%a1%%%fanwei%
  30. :a2
  31. set a2=%random%
  32. set /a a2=%a2%%%fanwei%
  33. if %a2% equ 0 goto a2  rem 这一行保证第二个数不是0,免得计算除法时出错。
  34. set a3=%random%
  35. set /a si=4
  36. set /a fuhao=%a3%%%si%
  37. if %fuhao% equ 0 set jjcc=+
  38. if %fuhao% equ 1 set jjcc=- & set /a xsss=%a1%-%a2%
  39. if %fuhao% equ 2 set jjcc=×
  40. if %fuhao% equ 3 set jjcc=÷
  41. :feifu
  42. set /a times=%times%+1
  43. set /p xsss=    第 %times% 道:  %a1%%jjcc%%a2%=
  44. if %xsss% equ Q goto end
  45. if %xsss% equ q goto end
  46. if %jjcc% equ + set /a zqjg=%a1%+%a2%
  47. if %jjcc% equ - set /a zqjg=%a1%-%a2%
  48. if %jjcc% equ × set /a zqjg=%a1%*%a2%
  49. if %jjcc% equ ÷ set /a zqjg=%a1%/%a2%
  50. if %xsss% equ %zqjg% set /a duitimes=%duitimes%+1&echo                              正确!&echo %a1%%jjcc%%a2%=%xsss%…………√ >>四则运算.txt
  51. if %xsss% neq %zqjg% set /a cuotimes=%cuotimes%+1&echo                              错误!&echo %a1%%jjcc%%a2%=%xsss%…………× >>四则运算.txt
  52. goto start
  53. :end
  54. set /a times=%duitimes%+%cuotimes%
  55. set /a duilv=%duitimes%*100
  56. set /a duirate=%duilv%/%times%
  57. echo.
  58. echo          你共做了 %times% 道题。
  59. echo          对了 %duitimes% 道,
  60. echo          错了 %cuotimes% 道。
  61. echo          正确率约为 %duirate%%%%。
  62. echo.
  63. if %duirate% lss 31 echo        评语:你太差劲了!应该努力了!!&goto over
  64. if %duirate% lss 61 echo        评语:你的水平一般!如果努力,会有提高!&goto over
  65. if %duirate% lss 81 echo        评语:不错!继续努力啊!&goto over
  66. if %duirate% lss 101 echo        评语:很好很好,你真是太厉害了!佩服!&goto over
  67. :over
  68. echo.&echo         你做的题目保存在 四则运算.txt 中,你可以自己打开复习。&echo.
  69. pause
复制代码
谁都不知道今天过去明天会如何,你现在要做的就是善待眼下的这一分钟、这一小时、这一天。

TOP

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

帖子
539 
精华
17 
积分
7175 
UID
191 
2
发表于 2012-1-25 11:23 | 只看该作者
很好!~ 很强大!~

TOP

Administrator

Administrator

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

帖子
297 
精华
积分
1400 
UID
1467 
3
发表于 2012-1-25 17:54 | 只看该作者
2# lanyanlei 嗯,代码里却是有许多值得学习的地方……
谁都不知道今天过去明天会如何,你现在要做的就是善待眼下的这一分钟、这一小时、这一天。

TOP

IT你好技术论坛

GMT+8, 2026-1-13 07:23, Processed in 0.015273 second(s), 13 queries.

Powered by Discuz! X1

© 2001-2010 Comsenz Inc.