-1
我不明白:/ 批处理很奇怪。 你能帮我搞定这项工作吗? 我得到的只是某个东西处于错误的位置。 我认为ifs中的括号是错误的。 我尝试多种组合,但没有工作:/批处理设置右括号
:init
set ergebniss=
set laufzeit=
set zinssatz=
set skapital=
set i=
set help=
:input1
if NOT (%1)==()(
set /a skapital=%1
set /a zahl=%skapital% + 0
goto input2
if %zahl% neq %skapital% (
cls
echo Ungueltiges Startkapital!
goto startkapital
)
)
:startkapital
cls
echo Geben Sie ein Startkapital ein:
set /p skapital=
set /a zahl=%skapital% + 0
if %zahl% neq %skapital% (
cls
echo Ungueltiges Startkapital!
goto startkapital
)
:input2
if NOT (%2)==() (
set /a zinssatz=%2
set /a zahl=%zinssatz% + 0
goto input3
if %zahl% neq %zinssatz% (
cls
echo Ungueltiger Zinssatz!
goto zinssatz
)
)
:zinssatz
pause
cls
echo Geben sie den Zinssatz ein:
set /p zinssatz=
set /a zahl=%zinssatz% + 0
if %zahl% neq %zinssatz% (
cls
echo Ungueltiger Zinssatz!
goto zinssatz
)
:input3
if NOT (%3)==() (
set /a laufzeit=%3
set /a zahl=%laufzeit% + 0
goto input3
if %zahl% neq %laufzeit% (
cls
echo Ungueltige Laufzeit
goto laufzeit
)
)
:laufzeit
pause
cls
echo Geben sie eine Laufzeit ein:
set /p laufzeit=
set /a zahl=%laufzeit% + 0
if %zahl% neq %laufzeit% (
cls
echo Ungueltige Laufzeit
goto laufzeit
)
:berechne
set ergebniss=%skapital%
setlocal EnableDelayedExpansion
for /L %%i in (1,1,%laufzeit%) do set /a ergebniss=!ergebniss!+!ergebniss!*%zinssatz%/100
:ausgabe
cls
echo Das Kapital nach %laufzeit% Jahren ist %ergebniss%
:wiederhole
echo Wiederholen? [j/n]:
set /p wh=
if "%wh%"=="j" (
cls
goto init)
修改后的代码:
:init
set ergebniss=
set laufzeit=
set zinssatz=
set skapital=
set i=
set help=
set zahl=
:input1
if NOT (%1)==() (
set /a skapital=%1
set /a zahl=%skapital% + 0
if %zahl% neq %skapital% (
cls
echo Ungueltiges Startkapital!
goto startkapital
)
goto input2
)
:startkapital
cls
echo Geben Sie ein Startkapital ein:
set /p skapital=
set /a zahl=%skapital% + 0
if %zahl% neq %skapital% (
cls
echo Ungueltiges Startkapital!
goto startkapital
)
:input2
if NOT (%2)==() (
set /a zinssatz=%2
set /a zahl=%zinssatz% + 0
if %zahl% neq %zinssatz% (
cls
echo Ungueltiger Zinssatz!
goto zinssatz
)
goto input3
)
:zinssatz
pause
cls
echo Geben sie den Zinssatz ein:
set /p zinssatz=
set /a zahl=%zinssatz% + 0
if %zahl% neq %zinssatz% (
cls
echo Ungueltiger Zinssatz!
goto zinssatz
)
:input3
if NOT (%3)==() (
set /a laufzeit=%3
set /a zahl=%laufzeit% + 0
if %zahl% neq %laufzeit% (
cls
echo Ungueltige Laufzeit
goto laufzeit
)
goto input3
)
:laufzeit
pause
cls
echo Geben sie eine Laufzeit ein:
set /p laufzeit=
set /a zahl=%laufzeit% + 0
if %zahl% neq %laufzeit% (
cls
echo Ungueltige Laufzeit
goto laufzeit
)
:berechne
set ergebniss=%skapital%
setlocal EnableDelayedExpansion
for /L %%i in (1,1,%laufzeit%) do set /a ergebniss=!ergebniss!+!ergebniss!*%zinssatz%/100
:ausgabe
cls
echo Das Kapital nach %laufzeit% Jahren ist %ergebniss%
:wiederhole
echo Wiederholen? [j/n]:
set /p wh=
if "%wh%"=="j" (
cls
goto init)
解决方案:
:input1
if (%1)==() goto startkapital
set /a skapital=%1
set /a zahl=%skapital% + 0
if %zahl% neq %skapital% (
cls
echo Ungueltiges Startkapital!
goto startkapital
)
goto input2
嘿。谢谢你帮我一下。 –
如果我写这样的代码::INPUT1 如果不是(%1)==()( \t集/一个skapital =%1 \t集/一个zahl =%skapital%+ 0 \t如果%zahl% NEQ%skapital%( \t \t CLS \t \t回声Ungueltiges startkapital! \t \t转到startkapital \t) \t转到输入2 )我得到 “(在这个时候意外” –
您将需要'edit'这个代码加入你的问题作为补充n显示灵敏度tolayout并且不清楚linebreaks在哪里。 – Magoo