set 续4

来源:互联网 发布:网站访客qq获取源码 编辑:程序博客网 时间:2024/06/05 14:19

---------siwuxie095

  

  

  

  

批处理简易计算器

@echo off

::设置窗口标题

title DOS简易计算器

::设置窗口大小

mode con cols=118 lines=30

::设置窗口颜色

color9f

::设置 xianshi 的值为 N,用于判断是否显示运算优先顺序表

set xianshi=N

echo. &echo.

set /p xianshi=是否显示 DOS 运算符的运算优先顺序表?(Y/N):

:begin

::清屏

cls

if /i"%xianshi%" == "Y" (

echo. & echo.

echo DOS的各种运算符运算优先顺序表

echo. & echo.

echo "1 ( )分组"

echo "2 ! ~ -一元运算符"

echo "3 * /%%算数运算符"

echo "4 + -算数运算符"

echo "5 << >>二进制逻辑移位输入表达式时,该符号需添加双引号或转义字符"

echo "6 &二进制按位"与"输入表达式时,该符号需添加双引号或转义字符"

echo "7 ^二进制按位"异"输入表达式时,该符号需添加双引号或转义字符"

echo "8 |二进制按位"或"输入表达式时,该符号需添加双引号或转义字符"

echo "9 = *= /=%%= += -= 算数赋值输入表达式时,该符号需添加双引号或转义字符"

echo "10 &= ^= |= <<= >>=进制运算赋值输入表达式时,该符号需添加双引号或转义字符"

echo "11 ,逗号运算符"

rem不知道为啥,这个地方用 ::当注释,会出点小毛病,显示"系统找不到指定的驱动器",下面才是注释QAQ

rem上面的各个回显,回显的内容都添加了双引号,假如不添加双引号,程序就无

rem法正常显示,这个课题有待进一步研究。另外,第三行的百分号最难处理,它即

rem使在双引号内还可以作怪,即使添加了转义字符^也不管用,非得用两个百分号

rem才能将其显示出来。第九行也是如此,%%=在屏幕显示为%=

echo.

)

echo.

echo ================================================================================

echo DOS计算器只能计算整数(小数四舍五入),并且计算结果范围为-2147483647 2147483647

echo ================================================================================

echo. & echo.

set /p input=请输入计算表达式:

::这里进行运算,结果为 var

set /a var=%input%

echo.

echo计算结果: %input%=%var%

echo.

set /p qingqiu=要不要继续计算?(按回车继续,按任意键退出):

::判断,如果输入的是回车,将进行下一次运算,否则退出程序

if /i "%qingqiu%" =="" (goto begin)else (exit)

  

  

sublime中:

  

  

  

  

  

  

  

  

运行一览:

  

  

  

  

  

------------------------------------------------------------------------

  

  

一个困惑:

@echo off

echo请分别输入三个数字:

set /p a=

set /p b=

set /p c=

echo合并结果为:

set e=%a%

set /p var=%e:~-7%<nul

set e=%b%

set /p var=%e:~-7%<nul

set e=%c%

set /p var=%e:~-7%<nul

echo.

pause

  

sublime中:

  

  

运行一览:

  

  

  

  

  

如果输入其他字符,如a b c + - _ (注意:等号 = 例外),

都会正常显示,但输入个位数字就无法显示,如下:

  

  

  

  

  

  

  

  

关于等号 =,不能单独一行 或 位于开头

  

  

  

  

  

  

  

  

  

修改一下:对每个 <nul前面加个空格

(程序又没问题了很奇怪〔等号依然不能放一行的开头〕

  

  

  

运行一览:

  

  

  

  

  

  

【made by siwuxie095】

  

  

0 0
原创粉丝点击