I pasted the code above into my program but the output was the same. Perhaps I needed to modify the code to suit my program, I'm not sure as I haven't used code like that before.
But your response did get me to thinking and I came up with the code inbetween the '******. My output is ugly with spaces between the string and the numeric variables but that's fine so long as it works.
Output:
0 45
0 99
0 41
139
132
298
317
00 0
00 3
CLS
CLEAR
RANDOMIZE TIMER
OPEN "Pick3" FOR INPUT AS #1
OPEN "000-499" FOR OUTPUT AS #2
OPEN "500-999" FOR OUTPUT AS #3
DO WHILE NOT EOF(1)
INPUT #1, N1
INPUT #1, N2
INPUT #1, N3
NN1 = N1 * 100
NN2 = N2 * 10
NN3 = N3 * 1
N = NN1 + NN2 + NN3
'******************************
IF NN1 = 0 AND NN2 <> 0 THEN
N$ = "0"
ELSEIF NN1 = 0 AND NN2 = 0 THEN
N$ = "00"
ELSE
N$ = "1"
END IF
'******************************
IF N < 500 THEN
IF N$ = "1" THEN
PRINT #2, N
ELSE
PRINT #2, N$; N
END IF
END IF
IF N >= 500 THEN
IF N$ = "1" THEN
PRINT #3, N
ELSE
PRINT #3, N$; N
END IF
END IF
LOOP
Thanks everyone! Stupid Microsoft won't let me print a dang zero!