| |
|
|
Michael Wodrich | KompilierenMarkierenSeparieren!
Roem2Arab - Wandelt Römische Zahlzeichen in eine Dezimalzahl.
siehe auch: Arab2Roem$
Die Rückwandlung ist eigentlich ganz einfach wenn man sich
am anderen Code orientiert.
Aber Vorsicht!!
Hier finden keinerlei Fehlerprüfungen statt.
-------------------------------------------------------
Proc Roem2Arab
Parameters Roem$
Declare Erg&
While Left$(Roem$,1)="M" : Add Erg&,1000 : Roem$ = Right$(Roem$,Len(Roem$) - 1) : EndWhile
If Left$(Roem$,2)="CM" : Add Erg&, 900 : Roem$ = Right$(Roem$,Len(Roem$) - 2) : EndIf
If Left$(Roem$,1)="D" : Add Erg&, 500 : Roem$ = Right$(Roem$,Len(Roem$) - 1) : EndIf
If Left$(Roem$,2)="CD" : Add Erg&, 400 : Roem$ = Right$(Roem$,Len(Roem$) - 2) : EndIf
While Left$(Roem$,1)="C" : Add Erg&, 100 : Roem$ = Right$(Roem$,Len(Roem$) - 1) : EndWhile
If Left$(Roem$,2)="XC" : Add Erg&, 90 : Roem$ = Right$(Roem$,Len(Roem$) - 2) : EndIf
If Left$(Roem$,1)="L" : Add Erg&, 50 : Roem$ = Right$(Roem$,Len(Roem$) - 1) : EndIf
If Left$(Roem$,2)="XL" : Add Erg&, 40 : Roem$ = Right$(Roem$,Len(Roem$) - 2) : EndIf
While Left$(Roem$,1)="X" : Add Erg&, 10 : Roem$ = Right$(Roem$,Len(Roem$) - 1) : EndWhile
If Left$(Roem$,2)="IX" : Add Erg&, 9 : Roem$ = Right$(Roem$,Len(Roem$) - 2) : EndIf
If Left$(Roem$,1)="V" : Add Erg&, 5 : Roem$ = Right$(Roem$,Len(Roem$) - 1) : EndIf
If Left$(Roem$,2)="IV" : Add Erg&, 4 : Roem$ = Right$(Roem$,Len(Roem$) - 2) : EndIf
While Left$(Roem$,1)="I" : Add Erg&, 1 : Roem$ = Right$(Roem$,Len(Roem$) - 1) : EndWhile
Return Erg&
EndProc
Cls
print "römische Zahlzeichen zurückwandeln:"
print " 7 -> VII ->",Roem2Arab("VII")
print " 84 -> LXXXIV ->",Roem2Arab("LXXXIV")
print " 1932 -> MCMXXXII ->",Roem2Arab("MCMXXXII")
print " 2006 -> MMVI ->",Roem2Arab("MMVI")
WaitKey
End
|
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 14.12.2005 ▲ |
|
|
|