我是批处理的新手,我有一个支持数据的程序然后回显数据的输出,但是我需要帮助从cmd中的方程式变量。这是我的程序的代码。谁能告诉我我在这里做错了什么?谢谢!
@echo off
title growth factor y varible tool
set/p yintercept=enter the y intercept
echo %yintercept%
set/p exponent=enter the exponent
echo %exponent%
set/p x=enter x value
echo %x%
cls
echo %yintercept%
echo %exponent%
echo %x%
eq = %yintercept% ( %exponent% ^ %x% )
pause >nul
答案 0 :(得分:1)
以下是代码的工作示例:
@echo off
title Growth factor y varible tool
set /p yin="Enter the y intercept: "
set /p exp="Enter the exponent: "
set /p x="Enter x value: "
pause
cls
echo Y-intercept: %yin%
echo Exponent: %exp%
echo X value: %x%
echo.
set /a pow=1
for /l %%a in (1, 1, %x%) do set /a pow*=exp
set /a eq=yin*pow
echo Equation = %yin% * (%exp%^^%x%)
Echo = %yin% * %pow%
Echo = %eq%
pause >nul
如果您输入:
Enter the y intercept: 2
Enter the exponent: 3
Enter x value: 4
Press any key to continue . . .
输出:
Y-intercept: 2
Exponent: 3
X value: 4
Equation = 2 * (3^4)
= 2 * 81
= 162
正如你所看到的,包括一些工作。您可以通过评论相应的行来轻松摆脱这种情况。
答案 1 :(得分:0)
首先,在尝试评估set
时,您尚未使用%yintercept% ( %exponent% ^ %x% )
命令。您需要将set
与/a
开关一起用于算术。
但是,您似乎正在尝试将%exponent%
评估为%x%
的强大功能。使用set命令无法执行此操作。有关如何在批处理中执行此操作的说明,请参阅this question。注意:在CMD中,set命令将carat符号^
计算为按位异或,并且由于carat用作转义字符,您需要将此表达式用引号括起来,或者添加第二个克拉。
此外,set命令并不意味着乘法符号。因此,您需要将*
包含在希望乘法发生的位置。
在命令提示符中键入set /?
,以获取有关如何使用set命令的说明,特别是/a
开关上的部分。