[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
@echo off
set /p var=等待用户输入
set /a a=%var:~0,1%+%var:~1,1%
echo %a%
pause

TOP

@echo off
set /p var=等待用户输入
set /a a=%var:~0,1%+%var:~1,1%
echo %a%
pause

TOP

@echo off
color 0a
set /p a=请输入两位数以上的数字:
echo.
echo.-----这是你输入的数字"%a%";---------
echo.-----第一数字和第二个数字之和如下---
echo.
set /a b=%a:~0,1%+%a:~1,1%
echo %b%
pause>nul

你是要这种效果吗?

TOP

我来交第一题作业:
  1. @echo off
  2. set /p input=Please input any number:
  3. echo What you inputed is:%input%
  4. set b1=%input:~0,1%
  5. set b2=%input:~1,1%
  6. set /a sum=b1+b2
  7. echo the sum of byte1 and byte2 is:%sum%&pause>nul
复制代码

TOP

回复 197# 几维kiwi


    第44行 %%a in ("%n%@") do if "%%a"=="@"为什么括号有个@?  为什么%%a==@?

TOP

  1. @echo off
  2. title abc
  3. :0
  4. set /p hh=请输入两位数
  5. echo %hh%|findstr "^[0-9][0-9]">tmp.tmp
  6. for /f %%i in (tmp.tmp) do ( if %%i == %hh% echo 格式正确
  7. &goto 1)
  8. echo 输入格式错误
  9. pause
  10. del /q tmp.tmp
  11. goto 0
  12. :1
  13. echo %hh%
  14. set ss1=%hh:~0,1%
  15. set ss2=%hh:~1,1%
  16. set /a ss=ss1+ss2
  17. echo %ss%
  18. goto 0
  19. pause>nul
复制代码

TOP

楼上的写的不错啊,就是没判断空格啊,有空格就错了,学习
建议版主写个完整版点评下,能判断是不是输入数字的

TOP

本帖最后由 几维kiwi 于 2012-2-25 17:56 编辑

写了一个较完整的版本,写的不好的地方,请大家指出一下,多谢!
  1. ::设置等待用户输入,并将输入结果显示在批处理窗口;
  2. ::将用户输入的第一数字和第二个数字之和显示在批处理窗口;
  3. @echo off
  4. echo .........Summary Program..........
  5. rem 用户输入两个数字
  6. :begin
  7. echo.
  8. set num1=
  9. set num2=
  10. set /p num1=^> please input number1:
  11. set /p num2=^> please input number2:
  12. rem 检查输入的字符是否为数字
  13. set numFlag=true
  14. call :checkNumber %num1%
  15. if "%result%" == "false" echo error:number1 is not a number&(set numFlag=false)
  16. call :checkNumber %num2%
  17. if "%result%" == "false" echo error:number2 is not a number&(set numFlag=false)
  18. if "%numFlag%" == "false" goto :begin
  19. rem 如果输入的都是数字,则对数字相加,并输出结果
  20. set /a sum=num1+num2
  21. echo ==========RESULT============
  22. echo num1=%num1%
  23. echo num2=%num2%
  24. echo num1+num2=%sum%
  25. echo ============================
  26. rem 是否重来?
  27. echo.
  28. set /p redo=try again? (y or n)
  29. if /i "%redo%"=="y" goto :begin
  30. echo enter any key to exit ...
  31. pause>nul
  32. goto :eof
  33. rem 定义函数:判断是否为数字
  34. rem 判断方法:通过判断字符串是否被数字分割来判断是否包含数字
  35. :checkNumber
  36. set n=%1
  37. if not "%n%"=="" (
  38. for /f "delims=1234567890" %%a in ("%n%@") do if "%%a"=="@" (set result=true) else (set result=false)
  39. ) else (
  40. set result=false
  41. )
  42. goto :eof
复制代码

TOP

  1. @echo off
  2. set /p a=请输入三位数字:
  3. echo %a%
复制代码
  1. @echo off
  2. set /p a=请输入a的值:
  3. set/p b=请输入b的值:
  4. set /a c=%a%+%b%
  5. echo %c%
复制代码

TOP

  1. @echo off
  2. set /p str=请输入要输入的2位数字,将计算第一位与第二位的和:
  3. echo 你输入的数字:%str%
  4. echo 第一位数字:%str:~0,1%
  5. echo 第二位数字:%str:~1,1%
  6. set /a c=%str:~0,1%+%str:~1,1%
  7. echo 和:%str:~0,1%+%str:~1,1%=%c%
  8. pause>nul
复制代码
宝贵的光阴,总是像箭一样地飞逝着。

TOP

1,设置等待用户输入,并将输入结果显示在批处理窗口
  1. @echo off
  2. set /p var=请输入
  3. echo 输入数据如下:
  4. echo::************
  5. echo %var%
  6. pause>nul
复制代码
2,将用户输入的第一数字和第二个数字之和显示在批处理窗口
  1. @echo off
  2. set /p a=请输入数字
  3. set /p b=请输入数字
  4. set /a c=a+b
  5. echo %c%
  6. pause>nul
复制代码
我想在第二题中加入可以判断输入的是否数字,如果是非数字则提示重新输入,现在还不知道怎么来实现。
如果有高手可以指点,先表示感谢。

TOP

  1. 1.
  2. @echo off
  3. title 输入显示
  4. set /p a=please input:
  5. echo 你输入的是 %a%
  6. pause>nul
  7. 2.
  8. @echo off
  9. title 输入两数求和
  10. set /p a=please input first num: && set /p b=please input second num:
  11. echo 你输入的是 %a% 和 %b%
  12. set /a c=%a%+%b%
  13. echo 他们的和是%c%
  14. pause>nul
复制代码

TOP

  1. @echo off
  2. set /p num1=num1
  3. set /p num2=num2
  4. set /a sum=%num1%+%num2%
  5. echo sum=%sum%
  6. pause>nul
复制代码

TOP

回复 189# daiyang622


没有数据类型
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

请问是否要像13楼说的一样,先检查时候输入的是数字,不是的话给出提示?
另外就是 批处理里面有数据类型这个概念吗?

TOP

返回列表