29 lines
745 B
QBasic
29 lines
745 B
QBasic
|
'
|
|||
|
' *** SHARE_EX.BAS - SHARED statement programming example
|
|||
|
'
|
|||
|
DEFINT A-Z
|
|||
|
DO
|
|||
|
INPUT "Decimal number (input number <= 0 to quit): ",Decimal
|
|||
|
IF Decimal <= 0 THEN EXIT DO
|
|||
|
INPUT "New base: ",Newbase
|
|||
|
N$ = ""
|
|||
|
PRINT Decimal "base 10 equals ";
|
|||
|
DO WHILE Decimal > 0
|
|||
|
CALL Convert (Decimal,Newbase)
|
|||
|
Decimal = Decimal\Newbase
|
|||
|
LOOP
|
|||
|
PRINT N$ " base" Newbase
|
|||
|
PRINT
|
|||
|
LOOP
|
|||
|
|
|||
|
SUB Convert (D,Nb) STATIC
|
|||
|
SHARED N$
|
|||
|
' Take the remainder to find the value of the current
|
|||
|
' digit.
|
|||
|
R = D MOD Nb
|
|||
|
' If the digit is less than ten, return a digit (0...9).
|
|||
|
' Otherwise, return a letter (A...Z).
|
|||
|
IF R < 10 THEN Digit$ = CHR$(R+48) ELSE Digit$ = CHR$(R+55)
|
|||
|
N$ = RIGHT$(Digit$,1) + N$
|
|||
|
END SUB
|
|||
|
|