Keyboard input/Obtain a Y or N response

From Rosetta Code
Revision as of 20:27, 9 October 2010 by rosettacode>Markhobley (no need to press an enter)
Keyboard input/Obtain a Y or N response is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

Obtain a valid Y or N response from the keyboard. The keyboard should be flushed, so that any outstanding keypresses are removed, preventing any exiting Y or N keypress from being evaluated. The response should be obtained as soon as Y or N are pressed, and there should be no need to press an enter key.

BASIC

ZX Spectrum Basic

10 IF INKEY$<>"" THEN GOTO 10
20 PRINT "Press Y or N to continue"
30 LET k$ = INKEY$
40 IF k$ = "y" OR k$ = "Y" OR k$ = "n" OR k$ = "N" THEN GOTO 60
50 GOTO 30
60 PRINT "The response was "; k$

PureBasic

<lang PureBasic>While Inkey():Wend  ; Flush the buffer

PrintN("Press Y or N to continue") Repeat: Key$=UCase(Inkey()) Until Key$="Y" Or Key$="N" PrintN("The response was "+Key$)</lang>