命令提示中的方程式

时间:2015-04-16 00:01:45

标签: batch-file cmd

我是批处理的新手,我有一个支持数据的程序然后回显数据的输出,但是我需要帮助从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

2 个答案:

答案 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开关上的部分。