---------siwuxie095

 
 

 
 

 
 

 
 

批处理简易计算器

@echo off

::设置窗口标题

title DOS 简易计算器

::设置窗口大小

::设置窗口颜色

color 9f

::设置 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 ================================================================================

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】

 
 

 
 

set 续4的更多相关文章

  1. .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入

    上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...

  2. [.NET] C# 知识回顾 - 委托 delegate (续)

    C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...

  3. iOS 开发者账号到期续费流程

    1.登录developer.apple.com,查看到期时间 2.到期提醒通知,点击Renew Membership续费(一般提前一个月提醒续费) 3.个人开发者账号续费需要支付 688人民币/年(9 ...

  4. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  5. CI-持续集成(1)-软件工业“流水线”概述

    CI-持续集成(1)-软件工业“流水线”概述 1   概述 持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次, ...

  6. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)

    ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...

  7. [译]Godot系列教程三 - 场景实例化(续)

    场景实例化(续) 要点 场景实例化带来很多便利的用法,总体来说有: 将场景细分,更便于管理 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大 是一种设计更复杂的游戏流程甚至UI的方式 这 ...

  8. 【小白的CFD之旅】13 敲门实例【续3】

    接上文[小白的CFD之旅]12 敲门实例[续2] 4 Results4.1 计算监测图形4.2 Graphics4.2.1 壁面温度分布4.2.2 创建截面4.2.3 显示截面物理量4.2.4 Pat ...

  9. 【小白的CFD之旅】12 敲门实例【续2】

    接上文[小白的CFD之旅]敲门实例[续] 主要内容 3 Solution3.1 Solution Methods3.2 Solution Controls3.3 Monitors3.4 Report ...

  10. jquery实现简单瀑布流布局(续):图片懒加载

    # jquery实现简单瀑布流布局(续):图片懒加载 这篇文章是jquery实现简单瀑布流布局思想的小小扩展.代码基于前作的代码继续完善. 图片懒加载就是符合某些条件时才触发图片的加载.最常见的具体表 ...

随机推荐

  1. L173

    Technical problems temporarily blocked some US and European users having access to their accounts an ...

  2. myeclipse单步调试

    如何进行myclipse的单步调式与跟踪?希望大虾们详细点,多谢. 打断点,然后运行,进debug试图,按F6执行一行,按F5是钻进去执行 追问 朋友,能详细点吗? 本人是初学 回答 如图 如若成功请 ...

  3. tornado多路由示例

    main.py代码: # encoding: utf-8 """ @version: ?? @author: andu99 @contact: andux@qq.com ...

  4. fullfile

    这个我总是忽略,见过也不少了,顺便写写,其实一些命令很方便的. 一个例子: root_dir = '../mcg/pre-trained'; addpath(root_dir); addpath(fu ...

  5. Python selenium chrome 环境配置

    Python selenium chrome 环境配置 一.参考文章: 1. 记录一下python easy_install和pip安装地址和方法 http://heipark.iteye.com/b ...

  6. java 之DelayQueue,TaskDelayed,handlerFactory,dataChange消息配置.收发等.java spring事务处理TransactionTemplate

    java 之DelayQueue,TaskDelayed,handlerFactory,dataChange消息配置.收发等.java spring事务处理TransactionTemplate等. ...

  7. 【liunx】telnet命令

    telnet命令用于登录远程主机,对远程主机进行管理.telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了.但仍然有很多别的系统可能采 ...

  8. 【java基础】ThreadLocal的实现原理

    [一]:ThreadLocal对象的大体实现原理===>当前线程对象有一个ThreadLocal.ThreadLocalMap属性.===>声明的ThreadLocal对象最终存储在当前线 ...

  9. 机器学习 ----Tensorflow

    机器学习笔记4-Tensorflow线性模型示例及TensorBoard的使用 机器学习笔记3-Tensorflow简介 机器学习笔记2 – sklearn之iris数据集 机器学习笔记1 - Hel ...

  10. Animation获得当前播放的第几帧

    http://blog.csdn.net/cocos2der/article/details/8728443 http://www.it165.net/pro/html/201405/13204.ht ...