Board logo

标题: [数值计算] [分享]批处理版多功能计算器 [打印本页]

作者: psxch    时间: 2011-3-5 18:36     标题: [分享]批处理版多功能计算器

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title 多功能计算器
  4. :menu
  5. echo.
  6. echo        ================================================
  7. echo.
  8. echo                      请选择要进行的操作,然后按回车
  9. echo.
  10. echo        ================================================
  11. echo.
  12. echo                                1.加法计算器
  13. echo                                2.减法计算器
  14. echo                                3.乘法计算器
  15. echo                                4.除法计算器
  16. echo                                5.乘方计算器
  17. echo                                 x.退出
  18. set a=123456789abcdef
  19. set /a d=%random%%%15
  20. color 2!a:~%d%,1!
  21. set /p choice= 请选择:
  22. if %choice%==1 goto jia
  23. if %choice%==2 goto jian
  24. if %choice%==3 goto cheng
  25. if %choice%==4 goto chu
  26. if %choice%==5 goto chengfang
  27. if %choice%==x goto tuichu
  28. cls
  29. echo 选择无效请重新输入:
  30. echo.
  31. goto menu
  32. :jia
  33. set /p str=请输入加数:&set /p var=请输入被加数:
  34. set /a j=%str%+%var%
  35. cls
  36. echo 两数的和为:%j%
  37. echo.
  38. set /p choice_1=返回主菜单请输入:[e]
  39. cls
  40. if /i %choice_1%==e goto menu else goto tuichu
  41. :jian
  42. set /p str=请输入减数:&set /p var=请输入被减数:
  43. set /a ji=%str%-%var%
  44. cls
  45. echo 两数之差为:%ji%
  46. echo.
  47. set /p choice_1=返回主菜单请输入:[e]
  48. cls
  49. if /i %choice_1%==e goto menu else goto tuichu
  50. :cheng
  51. set /p str=请输入成数:&set /p var=请输入被乘数:
  52. set /a ch=%str%*%var%
  53. cls
  54. echo 两数之积为:%ch%
  55. echo.
  56. set /p choice_1=返回主菜单请输入:[e]
  57. cls
  58. if /i %choice_1%==e goto menu else goto tuichu
  59. :chu
  60. set /p str=请输入除数:&set /p var=请输入被除数:
  61. set /a c=%str%/%var%
  62. cls
  63. echo 两数之商为:%c%
  64. echo.
  65. set /p choice_1=返回主菜单请输入:[e]
  66. cls
  67. if /i %choice_1%==e goto menu else goto tuichu
  68. :fang
  69. set /p n=请输入2 的几次方:
  70. set /a num=1^<^<N
  71. cls
  72. echo %num%
  73. echo.
  74. set /p choice_1=返回主菜单请输入:[e]
  75. cls
  76. if /i %choice_1%==e goto menu else goto tuichu
  77. :tuichu
  78. echo 程序结束!
  79. pause
复制代码


有个小错误,希望大家改进下。

[ 本帖最后由 psxch 于 2011-3-5 18:39 编辑 ]
作者: Batcher    时间: 2011-3-5 22:40

那你得先说说是啥小错误啊
作者: CrLf    时间: 2011-3-5 22:48

说句实在话,批处理的十进制计算能力着实不敢恭维
作者: psxch    时间: 2011-3-6 12:41     标题: 回复


失误啊...

标签
:fang
改为
:chengfang


作者: psxch    时间: 2011-3-8 00:40     标题: 对批处理版多功能计算器bug的修改和改进

@echo off
setlocal enabledelayedexpansion
title 批处理版多功能计算器
color 2f
echo.
echo 程序正在初始化...
echo.
echo  --------------------------------------------------------------
set /p a=●<NUL
for /L %%i in (1 1 30) do set /p a=●<nul&ping -n 1 127.0.0.1>nul

echo 100%%
cls
echo  --------------------------------------------------------------
echo.
echo.
echo                                                   初始化完成

:menu
echo.
echo                         ================================================
echo.
echo                                           请选择要进行的操作,然后按回车
echo.
echo                         ================================================
echo.
echo                                                 1.加法计算器
echo                                                 2.减法计算器
echo                                                 3.乘法计算器
echo                                                 4.除法计算器
echo                                                 5.乘方计算器
echo                                                 x.退出
set a=123456789abcdef
set /a d=%random%%%15
color 2!a:~%d%,1!
set /p choice= 请选择:
if %choice%==1 goto jia
if %choice%==2 goto jian
if %choice%==3 goto cheng
if %choice%==4 goto chu
if %choice%==5 goto chengfang
if %choice%==x goto tuichu
cls
echo 选择无效请重新输入:
echo.
goto menu

:jia
:jixu
set /p str=请输入加数:&set /p var=请输入被加数:
set /a j=%str%+%var%
cls
echo 两数的和为:%j%
echo.
echo 【输入若非0则继续加法操作】
echo.
set /p choice_1=返回主菜单请输入[0]:
cls
if /i %choice_1%==0 goto menu
if /i %choice_1% neq 0 goto jixu

:jian
:j
set /p str=请输入减数:&set /p var=请输入被减数:
set /a ji=%str%-%var%
cls
echo 两数之差为:%ji%
echo.
echo 【输入若非0则继续减法操作】
set /p choice_1=返回主菜单请输入[0]:
cls
if /i %choice_1%==0 goto menu
if /i %choice_1% neq 0 goto j
:cheng
:ji
set /p str=请输入成数:&set /p var=请输入被乘数:
set /a ch=%str%*%var%
cls
echo 两数之积为:%ch%
echo.
echo 【输入若非0则继续成法操作】
set /p choice_1=返回主菜单请输入[0]:
cls
if /i %choice_1%==0 goto menu
if /i %choice_1% neq 0 goto ji
:chu
:jix
set /p str=请输入除数:&set /p var=请输入被除数:
set /a c=%str%/%var%
cls
echo 两数之商为:%c%
echo.
echo 【输入若非0则继续除法操作】
set /p choice_1=返回主菜单请输入[0]:
cls
if /i %choice_1%==0 goto menu
if /i %choice_1% neq 0 goto jix
:chengfang
:q
set /p n=请输入2 的几次方:
set /a num=1^<^<N
cls
echo %num%
echo.
echo 【输入若非0则继续成方操作】
set /p choice_1=返回主菜单请输入[0]:
cls
if /i %choice_1%==0 goto menu
if /i %choice_1% neq 0 goto q
:tuichu
cls
echo ^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^| 程序结束!^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|
echo.
pause


本人原先发的代码有个小小的bug
现在在此已修改,如还有能改进的地方希望高手修改下。


[ 本帖最后由 psxch 于 2011-3-8 00:53 编辑 ]
作者: wang6421453    时间: 2011-3-8 01:54

楼主好强大啊,刚学了几天的批处理感觉蛮强大的,看了楼主的代码,感觉我还差好远啊。。。努力!!!!
作者: acaigg    时间: 2011-3-8 09:08

谢谢分享。学习一下。
作者: CrLf    时间: 2011-3-8 13:35

不说别的,3/2是多少...




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2