RosettaCodeData/Task/Roman-numerals-Encode/Commodore-BASIC/roman-numerals-encode-2.basic

26 lines
670 B
Plaintext

100 DIM RN$(12),NV(12)
110 FOR I=0 TO 12
120 : READ RN$(I), NV(I)
130 NEXT I
140 DATA M,1000, CM,900, D,500, CD,400
150 DATA C, 100, XC, 90, L, 50, XL, 40
160 DATA X, 10, IX, 9, V, 5, IV, 4
170 DATA I, 1
180 PRINT CHR$(19);CHR$(19);CHR$(147);CHR$(18);
190 PRINT "***** ROMAN NUMERAL ENCODER *****";CHR$(27);"T"
200 DO
210 : PRINT "ENTER NUMBER (0 TO QUIT):";
220 : OPEN 1,0:INPUT#1,AN$:CLOSE 1:PRINT
230 : AN=VAL(AN$):IF AN=0 THEN EXIT
240 : RN$=""
250 : DO WHILE AN > 0
260 : FOR I=0 TO 12
270 : IF AN < NV(I) THEN 320
280 : RN$ = RN$+ RN$(I)
290 : AN = AN - NV(I)
300 : I = 12
320 : NEXT I
330 : LOOP
340 : PRINT RN$;CHR$(13)
350 LOOP