中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 06:26
共 47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助本人的无聊之作,测试时发现了问题,怎改?
可打印版本  797 / 4
第1楼 stornager 发表于 2007-05-11 16:08
中级用户 发帖 131 积分 328
[求助本人的无聊之作,测试时发现了问题,怎改?
@echo off
title 简单的加减乘除四则运算
color 1f
set /p name=Please enter a name:
echo 你好,%name%,让我们来做简单的加减乘除四则运算.
setlocal enableextensions
set /p num1=Please enter a number^(number^>0^):
set /p num2=Please enter a number^(number^>0^):
set /a x=!num1!+!num2!
set /a y=!num1!-!num2!
set /a z=!num1!*!num2!
set /a w=!num1!/!num2!
set /a value=^(!x!+!y!^)/^(!z!*!w!^)
set x.
set y.
set z.
set w.
set value.
endlocal
ping -n 6 127.1>nul&exit
第2楼 ttyp 发表于 2007-05-11 16:15
初级用户 发帖 84 积分 180
发现了什么问题?提问的时候提问清楚点啊,好像没必要用延迟变量
第3楼 lxmxn 发表于 2007-05-11 17:11
版主 发帖 4,938 积分 11,386
第4楼 zhoushijay 发表于 2007-05-11 17:14
高级用户 发帖 375 积分 845
@echo off
title 简单的加减乘除四则运算
color 1f
set /p name=Please enter a name:
echo 你好,%name%,让我们来做简单的加减乘除四则运算.
set /p num1="Please enter a number(number>0):"
set /p num2="Please enter a number(number>0):"
set /a x=%num1%+%num2%
set /a y=%num1%-%num2%
set /a z=%num1%*%num2%
set /a w=%num1%/%num2%
echo %num1%+%num2%=%x%
echo %num1%-%num2%=%y%
echo %num1%*%num2%=%z%
echo %num1%/%num2%=%w%
ping -n 6 127.1>nul&exit
你想要的效果,注意,set/p 不能计算小数,所以当运算中除不尽时候就会出错
第5楼 stornager 发表于 2007-05-11 19:34
中级用户 发帖 131 积分 328
谢谢各位高手指教,看来我对变量延迟还没完全搞懂,以及set/p 不能计算小数也不甚了解!!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023