Author |
Topic: Filing Problem (Read 920 times) |
|
tomwalford
New Member
member is offline


Posts: 1
|
 |
Filing Problem
« Thread started on: Dec 9th, 2014, 08:00am » |
|
One of my students has an issue with a problem he has been set (by me) and I'm struggling to see why his code doesn't work.
It is as follows:
Enter a name for a recipe Enter the number of people it's for Enter the ingredients (item, amount, unit)
Save the results to a file
Code is as follows
I know it will "fail" when putting the numbers into the file (as it will replace them with ASCII equivalents, but it comes up with Mistake when the name of the recipe is saved down
Any ideas?
Tom.
INPUT "Enter the name of the recipe: ";repname$
REPEAT INPUT "Enter the number of people it is for: " ;numofpeople% UNTIL numofpeople%>0
REPEAT INPUT "How many ingredients does it need?: " ;ingnumber UNTIL ingnumber>0
DIM ingredient$(ingnumber) DIM ingredient%(ingnumber) DIM unit$(ingnumber)
FOR x=1 TO ingnumber INPUT "Name of Ingredient: " ingredient$(x) INPUT "How much do you need (no units needed): " ingredient%(x) INPUT "Units: " unit$(x) NEXT
PRINT
REM Creating the file to store the data
INPUT "Enter the filename: " filename$
filename$ = filename$ + ".TXT"
PRINT filename$
channel% = OPENOUT(filename$)
PRINT channel%
PRINT#channel%,"Recipe Name is " PRINT#channel%,repname$
FOR y=1 TO ingnumber PRINT#channel%,"Number of people it will serve " numofpeople% PRINT#channel%,"The number of ingredients " ingnumber PRINT#channel%,"Name of ingredient: " ingredient$(y) PRINT#channel%,"Amount needed: " ingredient%(y) PRINT#channel%,"Units: " unit$(y) NEXT
CLOSE#channel%
PRINT "File ";filename$;" has been created successfully"
|
|
Logged
|
|
|
|
DDRM
Administrator
member is offline


Gender: 
Posts: 321
|
 |
Re: Filing Problem
« Reply #1 on: Dec 9th, 2014, 08:52am » |
|
Hi Tom,
By inserting PRINTs in varied places, it appears that the problem actually arises when you get to the
Code:
PRINT#channel%,"Number of people it will serve " numofpeople%
The problem is you have a string and then a variable with no separator. Try sticking a comma in (for each of those lines).
As you say, you'll need to use STR$(num) to convert the numbers to ascii equivalents.
best wishes,
D
|
« Last Edit: Dec 9th, 2014, 08:53am by DDRM » |
Logged
|
|
|
|
rtr2
Guest
|
 |
Re: Filing Problem
« Reply #2 on: Dec 9th, 2014, 12:09pm » |
|
on Dec 9th, 2014, 08:00am, tomwalford wrote:One of my students has an issue with a problem he has been set (by me) and I'm struggling to see why his code doesn't work. |
|
You posted exactly the same question at BBC-BASIC-ICT and I've replied there.
Richard.
|
|
Logged
|
|
|
|
rtr2
Guest
|
 |
Re: Filing Problem
« Reply #3 on: Dec 9th, 2014, 12:44pm » |
|
on Dec 9th, 2014, 08:52am, DDRM wrote:Try sticking a comma in (for each of those lines). As you say, you'll need to use STR$(num) to convert the numbers to ascii equivalents. |
|
Just to clarify, you can do one or the other; so either of these changes will avoid the error:
Code:PRINT#channel%, "Number of people it will serve ", numofpeople%
PRINT#channel%, "Number of people it will serve " + STR$(numofpeople%) I explain in my reply at BBC-BASIC-ICT some of the issues surrounding the choice between these options.
Richard.
|
|
Logged
|
|
|
|
|