BCX Console Demonstration Program s110.bas
```
' ------------------------------------------
' Check validity of a credit card number
' Based on public domain code written
' by Frank Cox, September 1, 1991.)
' ------------------------------------------
' --- Modified for BCX by Kevin Diggins ---
' ------------------------------------------

DIM Card\$

INPUT "Input Charge Card Number: ", Card\$

IF LEN(Card\$) = 0 THEN END

IF CCValid(Card\$) THEN
PRINT "Valid"
ELSE
PRINT "Invalid"
END IF

FUNCTION CCValid(TheCard\$)
LOCAL Tmp\$
LOCAL c, m, Temp, CheckSum

Tmp\$ = REMOVE\$(TheCard\$, CHR\$(32))     ' remove spaces from the data
FOR c = (LEN(Tmp\$) - 1) TO 1 STEP -1   ' compute the checksum
IF m = 2 THEN
m = 1
ELSE
m = 2
END IF
Temp = VAL(MID\$(Tmp\$, c, 1)) * m
CheckSum = CheckSum + Temp
IF Temp > 9 THEN CheckSum = CheckSum - 9
NEXT

IF MOD((CheckSum + VAL(RIGHT\$(Tmp\$, 1))), 10) = 0 THEN
FUNCTION = -1
ELSE
FUNCTION = 0
END IF

END FUNCTION

```

Result:

```
Input Charge Card Number: 0000
Valid

```