2017-08-27 16 views
-1

私は、正三角形、二等辺三角形、二等辺三角形かどうかを識別するコードを作成していますが、ここでサイズが等しくなければならないので、私は正三角形でコーディングするのに問題があります。一緒に3つの変数を作成する方法。

:triangle 
echo enter the three size: 
echo size a 
set /p s1= 
echo size b 
set /p s2= 
echo size c 
set /p s3= 

:: Isosceles triangle 

if %s1%==%s2% (
    goto isosceles 
    ) else if %s1%==%s3% (
    goto isosceles 
    ) else ( 
    goto scalene 
    ) 
pause 

:: equilateral triangle 

if %s1%==%s2%==%s3% (
    goto equilateral 
) 
pause 

:: for triangles 
:equilateral 
echo the triangle is equilateral 
goto pause 
:scalene 
echo the triangle is scalene 
goto pause 
:isosceles 
echo the triangle is isosceles 
goto pause 

は私の正当な声明ですか?

+0

'%s1の場合%==%s2%&&%s2%==%s3%&&%s3%==%s1% '? – Shark

+0

%s1%==%s2%&&%s2%==%s3%&&%s3%==%s1%( \t gotoの等価な )そうですか? –

+0

私のcmdを閉じるimmeditely after:C –

答えて

0

ます。また、この単純なアプローチを使用することがあります。

@echo off 

echo Enter the three sizes: 
set /p "s1=size a: " 
set /p "s2=size b: " 
set /p "s3=size c: " 

rem Next line means: s1=s2 AND s2=s3 (all sides are equal) 
if "%s1%/%s2%" equ "%s2%/%s3%" goto equilateral 

rem Next line means that all sides are different 
if "%s1%" neq "%s2%" if "%s2%" neq "%s3%" if "%s3%" neq "%s1%" goto scalene 

::isosceles 
echo the triangle is isosceles 
pause & goto :eof 

:scalene 
echo the triangle is scalene 
pause & goto :eof 

:equilateral 
echo the triangle is equilateral 
pause & goto :eof 
0

ifは、a==b==cをサポートしていません。
また、ANDまたはORもありません。
代わりに、あなたはあなたが「早期二等辺三角形の検出」を防ぐために正三角形最初に確認する必要がありif %a%==%b% if %b%==%c% echo equilateral

を使用することができます。

@echo off 
echo enter the three sizes: 
set /p "s1=size a: " 
set /p "s2=size b: " 
set /p "s3=size c: " 
:: equilateral triangle 
if "%s1%"=="%s2%" if "%s2%"=="%s3%" goto equilateral 
REM if s1=s2 and s2=s3 then also s1=s3 
:: Isosceles triangle 
if "%s1%"=="%s2%" goto isosceles 
if "%s1%"=="%s3%" goto isosceles 
if "%s2%"=="%s3%" goto isosceles 

:: scalene 
echo the triangle is scalene 
pause & goto :eof 
:equilateral 
echo the triangle is equilateral 
pause & goto :eof 
:scalene 
echo the triangle is scalene 
pause & goto :eof 
:isosceles 
echo the triangle is isosceles 
pause & goto :eof 
関連する問題