所以我正在为我的一个班级的最终项目工作,目标基本上是让用户输入初始投资,以及价值折旧的年数......它贬值了恒定值,由投资除以年数确定。
在for循环中,它应该减去'年度'来自' bookvalue'并打印出每年的新书价值...数学本身是否正常工作(我相信?)因为如果我回显我的for循环之外的值它们应该是什么,但是在for循环中的echo语句我不知道#39;得到我需要输出的东西(书值不会在循环中改变)。
不确定该去哪里,谷歌还没有完成我的工作。感谢您提供的任何帮助!
@ECHO OFF
:HEADER
REM Program : final_q8.bat
REM Author :
REM Date :
REM Purpose : if statement integer sort
REM -----------------------------------------------
:START
CLS
SET /P INVEST="Please enter the initial investment amount: "
SET /P YEARS="Please enter the # of years the machine will be depreciated: "
SET /A ANNUAL=INVEST/YEARS
SET BOOKVALUE=%INVEST%
ECHO YEAR ANNUAL DEPRECIATION BOOK VALUE
FOR /L %%C IN (1, 1, %YEARS%) DO (
SET /A BOOKVALUE=BOOKVALUE-ANNUAL
ECHO %%C %ANNUAL% %BOOKVALUE%
)
PAUSE
:END
:: Exit and return an errorcode of 0
EXIT /B 0
答案 0 :(得分:1)
尝试启用Delayed expansion
:
@echo off
setlocal enabledelayedexpansion
...
然后在For
循环
FOR /L %%C IN (1, 1, %YEARS%) DO (
SET /A BOOKVALUE=BOOKVALUE-ANNUAL
ECHO %%C !ANNUAL! !BOOKVALUE!
)