Roman numerals/Encode: Difference between revisions

Add Batch File
(→‎{{header|Protium}}: Restore Prolog solution)
(Add Batch File)
Line 405:
160 NEXT I
170 PRINT VALUE;"=";V$</lang>
 
=={{header|Batch File}}==
{{trans|BASIC}}==
<lang dos>@echo off
setlocal enabledelayedexpansion
 
set cnt=0&for %%A in (1000,900,500,400,100,90,50,40,10,9,5,4,1) do (set arab!cnt!=%%A&set /a cnt+=1)
set cnt=0&for %%R in (M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I) do (set rom!cnt!=%%R&set /a cnt+=1)
 
::Testing
call :toRoman 2009
echo 2009 = !result!
call :toRoman 1666
echo 1666 = !result!
call :toRoman 3888
echo 3888 = !result!
pause>nul
exit/b 0
 
::The "function"...
:toRoman
set value=%1
set result=
 
for /l %%i in (0,1,12) do (
set a=%%i
call :add_val
)
goto :EOF
 
:add_val
if !value! lss !arab%a%! goto :EOF
set result=!result!!rom%a%!
set /a value-=!arab%a%!
goto add_val</lang>
{{Out}}
<pre>2009 = MMIX
1666 = MDCLXVI
3888 = MMMDCCCLXXXVIII</pre>
 
=={{header|BASIC256}}==
535

edits