Working with integer variables is faster than working with floating point variables. For efficiency reasons you could change your k and op variables into k% and op%.
To blow some live in this menu, you have a number of possibilities. In order of my personal preference:
Using SELECT CASE
DO
CLS
... ' the instructions that build your menu
LOCATE 21, 15: INPUT "Enter your option"; op%
SELECT CASE op%
CASE 1
... ' instructions belonging to 1st option
CASE 2
... ' instructions belonging to 2nd option
CASE 3
... ' instructions belonging to 3rd option
CASE 4
... ' instructions belonging to 4th option
CASE 5
END
END SELECT
LOOP
Using IF
DO
CLS
... ' the instructions that build your menu
LOCATE 21, 15: INPUT "Enter your option"; op%
IF op%=1 THEN
... ' instructions belonging to 1st option
ELSEIF op%=2 THEN
... ' instructions belonging to 2nd option
ELSEIF op%=3 THEN
... ' instructions belonging to 3rd option
ELSEIF op%=4 THEN
... ' instructions belonging to 4th option
ELSEIF op%=5 THEN
END
END IF
LOOP
Using ON GOSUB
DO
CLS
... ' the instructions that build your menu
LOCATE 21, 15: INPUT "Enter your option"; op%
IF op%>0 AND op%<6 THEN
ON op% GOSUB one, two, three, four, five
ENDIF
LOOP
one: ... ' instructions belonging to 1st option
RETURN
two: ... ' instructions belonging to 2nd option
RETURN
three: ... ' instructions belonging to 3rd option
RETURN
four: ... ' instructions belonging to 4th option
RETURN
five: END
The DO ... LOOP
makes the program run until the user finally presses 5 to select Exit. Any invalid input will re-display the menu.