Learning Sub Routines, and For Next Loops. Please help!

Ok first I'd like to say that this is my first time using FOR NEXT loops and SUB ROUTINES. I learn best by actually applying myself. So seeing some examples of these SUB routines and FOR NEXT loops, I decided to incorperate them into my new project. Now this is a school assigned project so i DO NOT want anybody to go and do the work for me. but i would like maybey some suggestions as to why my program is not working properly.I'm going to post my program up here and i am aware that my second sub routine doesn't work that's not my problem i can fix that. my problem is when I CALL make_line my make line input prompt statements pop up but then after i enter the needed information for my program to plot my line for me, my other sub routine (SUB make_circle) starts doing it's thing and then my program shuts down and i get errors. I was wondering if somebody could look at this and tell me how to make so that when L is entered at the first input prompt it only use the SUB make_line and it doesnt use the SUB make circle. This thing is stumping me.
This is my program...

LET a$ = "y"
DO while a$ = "y"
INPUT prompt "Would you like to plot a LINE or a CIRCLE?(L for line, C for circle)":selection$
IF selection = L then
CALL make_line
IF selection = C then
CALL make_circle
SET WINDOW -20,20,-15,15
PLOT 0,-15;0,15
PLOT -20,0;20,0
PLOT -19,.5;-19,-.5
FOR n = -19 to 19
PLOT n,.5;n,-.5
FOR m = -14 to 14
PLOT -.5,m;.5,m
INPUT prompt "Would you like to run again? (y,n)-->":a$
SUB make_line
INPUT prompt "What is the RISE?--------->":rise
INPUT prompt "What is the RUN?---------->":run
INPUT prompt "What is the y-intercept?-->":inter
FOR x = -20 to 20
LET y = rise/run * x + inter
PLOT x,y;
SUB make_circle
INPUT prompt "What is the radius of the circle you would like to graph?-->":radius
FOR c = -20 to 20
LET y = (radius^2-x^2)^.5
PLOT x,y;


Re: True BASIC free tutorials ... how to find ...

bubbachunk ... To find the Subject tutorials, Google 'true basic tutorials'. The very first one is the "most often downloaded" one. There are others on the first Google page you can also download.

Also, when you are writing TB code (in the TB Editor), click on the "Help" menu, then follow the path to all of the STATEMENTS & FUNCTIONS. Many of your questions have answers in the Editor's Help menu. Regards ... Tom M


nevermind i found the problem it was in my if then statements the problem has been corrected

Re: Title for your program listing ...

bubbachunk ... The first program line you write for EVERY program listing should be a REM statement that includes useful text information, like the program listings I have posted on this forum. For example, here's a recent one (slightly modified):

! Filename: color256c.tru, tjm, 20091023

Here, I've written the exact file name, my initials and the date I wrote (and debugged) the code lines. These days, I like to use the date format "yyyymmdd" (yearmonthday). This date format is preferred because - in a folder of program files and their 'versions' - the 'date-order' is easy to decipher. There are versions color256a.tru and color256b.tru on my computer.

You and your classmates seem to be interested in screen colors. I hope you've copied, pasted, and RUN the COLOR256C.TRU program listing I posted on the Forum about a week ago. Regards ... Tom M

i did

Tom M...
yes i did i copied it into a .tru document and e-mailed to everyone in programming class. i also convinced the school administrator to unblock this website at school.