2015-04-16 100 views
0

我對批處理很新,而且我有這個程序是SUPPOSED來獲取數據然後回顯數據的輸出,但是我需要幫助從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

要更正代碼佈局,請在每行之前放置4個空格;你可以看到我在編輯中做了什麼。 – Jonathan

+0

請參閱[本頁](http://stackoverflow.com/help/how-to-ask)尋求一個好問題的幫助。有關正確格式的幫助,請參閱[本頁](http://stackoverflow.com/help/formatting)。 – unclemeat

回答

0

首先,試圖評估%yintercept% (%exponent%^%x%)當你不使用set命令。您需要使用set/a開關進行算術運算。

但是,它看起來像你試圖評估%exponent%%x%的力量。沒有操作員使用set命令執行此操作。有關如何在批處理中執行此操作的說明,請參見this question。注意:在CMD中,設置命令會將克拉符號^評估爲按位排除,並且由於克拉被用作轉義字符,因此您需要將該表達式用引號括起來,或者添加第二個克拉。

此外,set命令並不意味着乘法符號。所以你需要包括*你想要乘法發生的地方。

set /?鍵入到命令提示符中,以獲取有關如何使用set命令的說明,具體說明/a開關的部分。

+0

謝謝,生病試試! –

+0

不用擔心。讓我知道,如果你能夠得到它的工作。 – unclemeat

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 

正如你可以看到包括位加工。您可以通過評論相應的行輕鬆擺脫此。