[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 我写了个算24程序,有缺陷

程序有2个批处理文件:main.cmd与1.cmd
main.cmd代码:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title 算24
  4. set suan=24
  5. set cg=0
  6. set /p suan=输入要算的数字:
  7. set /p y=输入第一个数:
  8. set /p e=输入第二个数:
  9. set /p s=输入第三个数:
  10. set /p f=输入第四个数:
  11. cls
  12. echo 正在计算,请稍候...
  13. set a=%y%
  14. set b=%e%
  15. set c=%s%
  16. set d=%f%
  17. call 1.cmd
  18. set a=%y%
  19. set b=%e%
  20. set d=%s%
  21. set c=%f%
  22. call 1.cmd
  23. set a=%y%
  24. set c=%e%
  25. set b=%s%
  26. set d=%f%
  27. call 1.cmd
  28. set a=%y%
  29. set c=%e%
  30. set d=%s%
  31. set b=%f%
  32. call 1.cmd
  33. set a=%y%
  34. set d=%e%
  35. set b=%s%
  36. set c=%f%
  37. call 1.cmd
  38. set a=%y%
  39. set d=%e%
  40. set c=%s%
  41. set b=%f%
  42. call 1.cmd
  43. set b=%y%
  44. set a=%e%
  45. set c=%s%
  46. set d=%f%
  47. call 1.cmd
  48. set b=%y%
  49. set a=%e%
  50. set d=%s%
  51. set c=%f%
  52. call 1.cmd
  53. set b=%y%
  54. set c=%e%
  55. set a=%s%
  56. set d=%f%
  57. call 1.cmd
  58. set b=%y%
  59. set c=%e%
  60. set d=%s%
  61. set a=%f%
  62. call 1.cmd
  63. set b=%y%
  64. set c=%e%
  65. set d=%s%
  66. set a=%f%
  67. call 1.cmd
  68. set b=%y%
  69. set d=%e%
  70. set a=%s%
  71. set c=%f%
  72. call 1.cmd
  73. set b=%y%
  74. set d=%e%
  75. set c=%s%
  76. set a=%f%
  77. call 1.cmd
  78. set c=%y%
  79. set a=%e%
  80. set b=%s%
  81. set d=%f%
  82. call 1.cmd
  83. set c=%y%
  84. set a=%e%
  85. set d=%s%
  86. set b=%f%
  87. call 1.cmd
  88. set c=%y%
  89. set b=%e%
  90. set a=%s%
  91. set d=%f%
  92. call 1.cmd
  93. set c=%y%
  94. set b=%e%
  95. set d=%s%
  96. set a=%f%
  97. call 1.cmd
  98. set c=%y%
  99. set d=%e%
  100. set a=%s%
  101. set b=%f%
  102. call 1.cmd
  103. set c=%y%
  104. set d=%e%
  105. set b=%s%
  106. set a=%f%
  107. call 1.cmd
  108. set d=%y%
  109. set a=%e%
  110. set b=%s%
  111. set c=%f%
  112. call 1.cmd
  113. set d=%y%
  114. set a=%e%
  115. set c=%s%
  116. set b=%f%
  117. call 1.cmd
  118. set d=%y%
  119. set b=%e%
  120. set a=%s%
  121. set c=%f%
  122. call 1.cmd
  123. set d=%y%
  124. set b=%e%
  125. set c=%s%
  126. set a=%f%
  127. call 1.cmd
  128. set d=%y%
  129. set c=%e%
  130. set a=%s%
  131. set b=%f%
  132. call 1.cmd
  133. set d=%y%
  134. set c=%e%
  135. set b=%s%
  136. set a=%f%
  137. call 1.cmd
  138. if %cg%==0 echo 对不起,没算出来,按任意键退出...
  139. if %cg%==1 echo 计算完毕,所有结果都已显示,按任意键退出...
  140. pause>>%tmp%\pause.tmp
复制代码


1.cmd代码:
  1. set /a js=((%a%+%b%)+%c%)+%d%
  2. if %js%==%suan% echo ((%a%+%b%)+%c%)+%d%=%suan%&set cg=1
  3. set /a js=((%a%+%b%)+%c%)-%d%
  4. if %js%==%suan% echo ((%a%+%b%)+%c%)-%d%=%suan%&set cg=1
  5. set /a js=((%a%+%b%)+%c%)*%d%
  6. if %js%==%suan% echo ((%a%+%b%)+%c%)×%d%=%suan%&set cg=1
  7. set /a js=((%a%+%b%)+%c%)/%d%
  8. if %js%==%suan% echo ((%a%+%b%)+%c%)÷%d%=%suan%&set cg=1
  9. set /a js=((%a%+%b%)-%c%)+%d%
  10. if %js%==%suan% echo ((%a%+%b%)-%c%)+%d%=%suan%&set cg=1
  11. set /a js=((%a%+%b%)-%c%)-%d%
  12. if %js%==%suan% echo ((%a%+%b%)-%c%)-%d%=%suan%&set cg=1
  13. set /a js=((%a%+%b%)-%c%)*%d%
  14. if %js%==%suan% echo ((%a%+%b%)-%c%)×%d%=%suan%&set cg=1
  15. set /a js=((%a%+%b%)-%c%)/%d%
  16. if %js%==%suan% echo ((%a%+%b%)-%c%)÷%d%=%suan%&set cg=1
  17. set /a js=((%a%+%b%)*%c%)+%d%
  18. if %js%==%suan% echo ((%a%+%b%)×%c%)+%d%=%suan%&set cg=1
  19. set /a js=((%a%+%b%)*%c%)-%d%
  20. if %js%==%suan% echo ((%a%+%b%)×%c%)-%d%=%suan%&set cg=1
  21. set /a js=((%a%+%b%)*%c%)*%d%
  22. if %js%==%suan% echo ((%a%+%b%)×%c%)×%d%=%suan%&set cg=1
  23. set /a js=((%a%+%b%)*%c%)/%d%
  24. if %js%==%suan% echo ((%a%+%b%)×%c%)÷%d%=%suan%&set cg=1
  25. set /a js=((%a%+%b%)/%c%)+%d%
  26. if %js%==%suan% echo ((%a%+%b%)÷%c%)+%d%=%suan%&set cg=1
  27. set /a js=((%a%+%b%)/%c%)-%d%
  28. if %js%==%suan% echo ((%a%+%b%)÷%c%)-%d%=%suan%&set cg=1
  29. set /a js=((%a%+%b%)/%c%)*%d%
  30. if %js%==%suan% echo ((%a%+%b%)÷%c%)×%d%=%suan%&set cg=1
  31. set /a js=((%a%+%b%)/%c%)/%d%
  32. if %js%==%suan% echo ((%a%+%b%)÷%c%)÷%d%=%suan%&set cg=1
  33. set /a js=((%a%-%b%)+%c%)+%d%
  34. if %js%==%suan% echo ((%a%-%b%)+%c%)+%d%=%suan%&set cg=1
  35. set /a js=((%a%-%b%)+%c%)-%d%
  36. if %js%==%suan% echo ((%a%-%b%)+%c%)-%d%=%suan%&set cg=1
  37. set /a js=((%a%-%b%)+%c%)*%d%
  38. if %js%==%suan% echo ((%a%-%b%)+%c%)×%d%=%suan%&set cg=1
  39. set /a js=((%a%-%b%)+%c%)/%d%
  40. if %js%==%suan% echo ((%a%-%b%)+%c%)÷%d%=%suan%&set cg=1
  41. set /a js=((%a%-%b%)-%c%)+%d%
  42. if %js%==%suan% echo ((%a%-%b%)-%c%)+%d%=%suan%&set cg=1
  43. set /a js=((%a%-%b%)-%c%)-%d%
  44. if %js%==%suan% echo ((%a%-%b%)-%c%)-%d%=%suan%&set cg=1
  45. set /a js=((%a%-%b%)-%c%)*%d%
  46. if %js%==%suan% echo ((%a%-%b%)-%c%)×%d%=%suan%&set cg=1
  47. set /a js=((%a%-%b%)-%c%)/%d%
  48. if %js%==%suan% echo ((%a%-%b%)-%c%)÷%d%=%suan%&set cg=1
  49. set /a js=((%a%-%b%)*%c%)+%d%
  50. if %js%==%suan% echo ((%a%-%b%)×%c%)+%d%=%suan%&set cg=1
  51. set /a js=((%a%-%b%)*%c%)-%d%
  52. if %js%==%suan% echo ((%a%-%b%)×%c%)-%d%=%suan%&set cg=1
  53. set /a js=((%a%-%b%)*%c%)*%d%
  54. if %js%==%suan% echo ((%a%-%b%)×%c%)×%d%=%suan%&set cg=1
  55. set /a js=((%a%-%b%)*%c%)/%d%
  56. if %js%==%suan% echo ((%a%-%b%)×%c%)÷%d%=%suan%&set cg=1
  57. set /a js=((%a%-%b%)/%c%)+%d%
  58. if %js%==%suan% echo ((%a%-%b%)÷%c%)+%d%=%suan%&set cg=1
  59. set /a js=((%a%-%b%)/%c%)-%d%
  60. if %js%==%suan% echo ((%a%-%b%)÷%c%)-%d%=%suan%&set cg=1
  61. set /a js=((%a%-%b%)/%c%)*%d%
  62. if %js%==%suan% echo ((%a%-%b%)÷%c%)×%d%=%suan%&set cg=1
  63. set /a js=((%a%-%b%)/%c%)/%d%
  64. if %js%==%suan% echo ((%a%-%b%)÷%c%)÷%d%=%suan%&set cg=1
  65. set /a js=((%a%*%b%)+%c%)+%d%
  66. if %js%==%suan% echo ((%a%×%b%)+%c%)+%d%=%suan%&set cg=1
  67. set /a js=((%a%*%b%)+%c%)-%d%
  68. if %js%==%suan% echo ((%a%×%b%)+%c%)-%d%=%suan%&set cg=1
  69. set /a js=((%a%*%b%)+%c%)*%d%
  70. if %js%==%suan% echo ((%a%×%b%)+%c%)×%d%=%suan%&set cg=1
  71. set /a js=((%a%*%b%)+%c%)/%d%
  72. if %js%==%suan% echo ((%a%×%b%)+%c%)÷%d%=%suan%&set cg=1
  73. set /a js=((%a%*%b%)-%c%)+%d%
  74. if %js%==%suan% echo ((%a%×%b%)-%c%)+%d%=%suan%&set cg=1
  75. set /a js=((%a%*%b%)-%c%)-%d%
  76. if %js%==%suan% echo ((%a%×%b%)-%c%)-%d%=%suan%&set cg=1
  77. set /a js=((%a%*%b%)-%c%)*%d%
  78. if %js%==%suan% echo ((%a%×%b%)-%c%)×%d%=%suan%&set cg=1
  79. set /a js=((%a%*%b%)-%c%)/%d%
  80. if %js%==%suan% echo ((%a%×%b%)-%c%)÷%d%=%suan%&set cg=1
  81. set /a js=((%a%*%b%)*%c%)+%d%
  82. if %js%==%suan% echo ((%a%×%b%)×%c%)+%d%=%suan%&set cg=1
  83. set /a js=((%a%*%b%)*%c%)-%d%
  84. if %js%==%suan% echo ((%a%×%b%)×%c%)-%d%=%suan%&set cg=1
  85. set /a js=((%a%*%b%)*%c%)*%d%
  86. if %js%==%suan% echo ((%a%×%b%)×%c%)×%d%=%suan%&set cg=1
  87. set /a js=((%a%*%b%)*%c%)/%d%
  88. if %js%==%suan% echo ((%a%×%b%)×%c%)÷%d%=%suan%&set cg=1
  89. set /a js=((%a%*%b%)/%c%)+%d%
  90. if %js%==%suan% echo ((%a%×%b%)÷%c%)+%d%=%suan%&set cg=1
  91. set /a js=((%a%*%b%)/%c%)-%d%
  92. if %js%==%suan% echo ((%a%×%b%)÷%c%)-%d%=%suan%&set cg=1
  93. set /a js=((%a%*%b%)/%c%)*%d%
  94. if %js%==%suan% echo ((%a%×%b%)÷%c%)×%d%=%suan%&set cg=1
  95. set /a js=((%a%*%b%)/%c%)/%d%
  96. if %js%==%suan% echo ((%a%×%b%)÷%c%)÷%d%=%suan%&set cg=1
  97. set /a js=((%a%/%b%)+%c%)+%d%
  98. if %js%==%suan% echo ((%a%÷%b%)+%c%)+%d%=%suan%&set cg=1
  99. set /a js=((%a%/%b%)+%c%)-%d%
  100. if %js%==%suan% echo ((%a%÷%b%)+%c%)-%d%=%suan%&set cg=1
  101. set /a js=((%a%/%b%)+%c%)*%d%
  102. if %js%==%suan% echo ((%a%÷%b%)+%c%)×%d%=%suan%&set cg=1
  103. set /a js=((%a%/%b%)+%c%)/%d%
  104. if %js%==%suan% echo ((%a%÷%b%)+%c%)÷%d%=%suan%&set cg=1
  105. set /a js=((%a%/%b%)-%c%)+%d%
  106. if %js%==%suan% echo ((%a%÷%b%)-%c%)+%d%=%suan%&set cg=1
  107. set /a js=((%a%/%b%)-%c%)-%d%
  108. if %js%==%suan% echo ((%a%÷%b%)-%c%)-%d%=%suan%&set cg=1
  109. set /a js=((%a%/%b%)-%c%)*%d%
  110. if %js%==%suan% echo ((%a%÷%b%)-%c%)×%d%=%suan%&set cg=1
  111. set /a js=((%a%/%b%)-%c%)/%d%
  112. if %js%==%suan% echo ((%a%÷%b%)-%c%)÷%d%=%suan%&set cg=1
  113. set /a js=((%a%/%b%)*%c%)+%d%
  114. if %js%==%suan% echo ((%a%÷%b%)×%c%)+%d%=%suan%&set cg=1
  115. set /a js=((%a%/%b%)*%c%)-%d%
  116. if %js%==%suan% echo ((%a%÷%b%)×%c%)-%d%=%suan%&set cg=1
  117. set /a js=((%a%/%b%)*%c%)*%d%
  118. if %js%==%suan% echo ((%a%÷%b%)×%c%)×%d%=%suan%&set cg=1
  119. set /a js=((%a%/%b%)*%c%)/%d%
  120. if %js%==%suan% echo ((%a%÷%b%)×%c%)÷%d%=%suan%&set cg=1
  121. set /a js=((%a%/%b%)/%c%)+%d%
  122. if %js%==%suan% echo ((%a%÷%b%)÷%c%)+%d%=%suan%&set cg=1
  123. set /a js=((%a%/%b%)/%c%)-%d%
  124. if %js%==%suan% echo ((%a%÷%b%)÷%c%)-%d%=%suan%&set cg=1
  125. set /a js=((%a%/%b%)/%c%)*%d%
  126. if %js%==%suan% echo ((%a%÷%b%)÷%c%)×%d%=%suan%&set cg=1
  127. set /a js=((%a%/%b%)/%c%)/%d%
  128. if %js%==%suan% echo ((%a%÷%b%)÷%c%)÷%d%=%suan%&set cg=1
复制代码

但有数会显示一些错误结果,可能由于set不能计算小数点,请问如何解决

返回列表