QB / QB64 Discussion Forum      Other Subforums, Links and Downloads
 Return to Index  

Avoiding 'Redo From Start'

March 14 2012 at 4:06 PM
AlGoreIthm  (Login AlGoreIthm)

This Function accepts only a numeral as input: The Challenge - very open ended,
just submit the same thing in an improved form.
Also keep in mind this was whipped up by someone who couldn't possibly be more 'math-deficient'.

==============================================================================

DECLARE FUNCTION NUMERAL ()

s# = NUMERAL
PRINT s#

END

FUNCTION NUMERAL#

num$ = "0123456789."
y% = 3
posi% = 1
PRINT "ENTER a numeral:"

DO
LOCATE y%, posi%: PRINT CHR$(178)
LOCATE 1, 56: PRINT posi%

SLEEP
k$ = INKEY$

IF posi% = 1 AND k$ = "-" OR INSTR(num$, k$) THEN inp$ = inp$ + k$: posi% = posi% + 1
IF k$ = "." THEN num$ = LEFT$(num$, 10): nposi% = posi% - 1: LOCATE 2, 56: PRINT nposi%

IF k$ = CHR$(8) AND posi% > 1 THEN
posi% = posi% - 1
IF posi% = nposi% THEN num$ = num$ + ".": nposi% = 0
inp$ = LEFT$(inp$, posi% - 1)
END IF

LOCATE y%, 1: PRINT inp$; " "

LOOP WHILE k$ <> CHR$(13)

NUMERAL = VAL(inp$)

END FUNCTION




 
 Respond to this message   
Responses