我无法弄清楚为什么在set / p opo = line之后它会继续关闭。 我进入操作然后它关闭,它没有提出:多代码。
这是我的代码:
title Calculator
color 0e
@echo off
GOTO calculator_main
:calculator_main
echo Enter a operation:
set /p opo=
if %opo%=='*'(
GOTO mult
)
if %opo%=='+'(
GOTO add
)
if %opo%=='-'(
GOTO sub
)
if %opo%=='/'(
GOTO div
)
:mult
echo Enter a number:
set /p num1=
echo Enter a number:
set /p num2=
set /a sum=%num1%*%num2%
echo %num1% * %num2% = %sum%
GOTO: calculator_main
pause
如果有人告诉我为什么会发生这种情况,我将非常感激,
的奥斯卡。
答案 0 :(得分:1)
if %opo%=='*'(
应该是
if %opo%=='*' (
这个空间是必需的。您的代码会尝试针对opo
测试您输入的字符串'*'(
(字面意思,包括&#39; 和( < / p>
如果您确实要测试*
的条目,请使用
if "%opo%"=="*" (
其中&#34; 分隔两个字符串,以便它们可以包含空格。
如果直接从命令提示符运行例程,而不是指向,单击和傻笑,您将看到语法错误报告。
OR
您可以调查choice
命令(来自提示的choice /?
,或使用search
查找SO上的示例)