
-----------------------------------
Miko99
Tue May 27, 2003 7:02 pm

Need help with a food program in turing
-----------------------------------
Ok. I have been struggling with this. I need to make a program that allows the user to buy their lunch. They pick from a menu what they want and then the computer spits out what their Bill is. They type in the size of the bill they will use ($50,$20,$10,$5 etc.) and the computer calculates how much change you will get. It tells the exact number of quarters, dollars, toonies, dimes, nickles, penny's, 5's, 10's (you get the point lol) that you will need. I need help with this. PLEASE HELP!!

-----------------------------------
Asok
Tue May 27, 2003 7:04 pm


-----------------------------------
ok general rule of thumb. If your asking for help we have to assume you've done some work on it as such post your code. No one here is going to write the entire program for you. On top of that, this is probably an assignment, handing someone elses work in is considered plagerism and will not be tollerated.

-----------------------------------
Tony
Tue May 27, 2003 7:10 pm


-----------------------------------
some sujestions though...

use arrays to store your lists of food items and another array for prices... have a variable to count the total...

as for the change, its same as converting numbers to binary... find the largest change(or even bill) you can fit in the remainder of the change to give out, untill you get down to pennies.

such as for $1.67
its $1, 2 $0.25, $0.1, $0.05, 2 $0.01

-----------------------------------
Miko99
Tue May 27, 2003 7:12 pm


-----------------------------------
Actually i just cant get it to display the change part.

-----------------------------------
void
Tue May 27, 2003 8:07 pm


-----------------------------------
easy...use mod..what does the bill minus price equal?...take that...mod it by 2 (toonies), then subtract that number times two from the change, then mod it by 1 and repeat until you reach 0.01...then you will be done...understand?

-----------------------------------
Miko99
Tue May 27, 2003 8:19 pm


-----------------------------------
Heres my code so far. Please correct because i cant figure it out!

var tens,tens1,nickles,nickles1,fives,fives1,toonies,toonies1,loonies,loonies1,quarters,quarters1,dimes,dimes1,pennys,pennys1:int
var main:string
var A:real:=300
var B:int:=340
var C:int:=240
var D:int:=500
var E:int:=300
var side:string
var F:int:=100
var G:int:=200
var H:int:=200
var I:int:=150
var J:int:=100
var drink:string
var K,N:int:=100
var L:int:=150
var M:int:=200
var O:int:=135
var total,choice,change:int

 

loop
put "Please Select one of the following main courses"
put "A = Hamburger"
put "B = Cheeseburger"
put "C = Chicken Burger"
put "D = Submarine"
put "E = Salad"
get main
exit when main = A or main = B or main =  or main = D or main = E
end loop


loop
put "please select one of the following side dishes"
put "F = 2 Cookies"
put "G = Fries"
put "H = Pasta"
put "I = Mashed Potato's"
put "J = Baked Potatoes"
get side
exit when side = F or side = G or side = H or side = I or side = J
end loop


loop
put "please select a drink"
put "K = Pop"
put "L = Chocolate Milk"
put "M = Gatoraid/Poweraid"
put "N = Bottled Water"
put "O = Slush Puppy"
get drink
exit when drink = K or drink = L or drink = M or drink = N or drink = O
end loop


total:=drink+side+main
put "Your total comes to ",total
put "What bill will you use to pay for this?"
get choice

change:=choice-total

if (change>1000) then
loop
tens1:=change-1000
tens:=tens+tens1
change:=change-1000
exit when change < 1000
end loop


put "you will need ",tens," tens"
end if
if (change>500) then
loop
fives1:=change-500
fives:=fives+fives1
change:=change-500
exit when change < 500
end loop

put "you will need ",fives," fives"
end if
if (change>200) then
loop
toonies1:=change-200
toonies:=toonies+toonies1
change:=change-200
exit when change < 200
end loop

put "You will need ",toonies," toonies"
end if
if(change>100) then
loop
loonies1:=change-100
loonies:=loonies+loonies1
change:=change-100
exit when change < 100
end loop

put "You will need ",loonies," loonies"
end if
if (change>25) then
loop
quarters1:=change-25
change:=change-25
exit when change < 25
end loop

put "You will need ",quarters," quarters"
end if
if (change>10) then
loop
dimes1:=change-10
dimes:=dimes+dimes1
change:=change-10
exit when change < 10
end loop
end if
if (change>5) then
loop
nickles1:=change-5
nickles:=nickles+nickles1
change:=change-5
exit when change < 5
end loop
put "You will need ",nickles," nickles"
end if

if (change > 1) then
loop
pennys1:=change-1
pennys:=pennys+pennys1
change:=change-1
exit when change < 1
end loop
put "You will need ",pennys," pennys"
end if











-----------------------------------
void
Tue May 27, 2003 8:34 pm


-----------------------------------
why do the foods cost hundreds??!?!?!?!?

-----------------------------------
Tony
Tue May 27, 2003 8:35 pm


-----------------------------------
maybe he's from russia  :lol:

-----------------------------------
void
Tue May 27, 2003 8:40 pm


-----------------------------------
lolz...i dont think russia uses toonies....

-----------------------------------
Tony
Tue May 27, 2003 8:43 pm


-----------------------------------
no, its the exchange rate... its something like $1 = 20 rubles...

so a 100 is $5... hmm...

you can buy a submarine for $25... ya, he must be from russia  :lol:

-----------------------------------
JSBN
Tue May 27, 2003 8:44 pm


-----------------------------------
That better be the best damn burger & cookies that i ever had  :?

-----------------------------------
void
Tue May 27, 2003 8:51 pm


-----------------------------------
LMFAO how do u use strint?

-----------------------------------
Tony
Tue May 27, 2003 9:00 pm


-----------------------------------

var number:int
var word:string := "1"
number := strint(word)


-----------------------------------
Miko99
Tue May 27, 2003 9:04 pm


-----------------------------------
i know this is all funny but it really doesn't help. lol. the food will be divided by 100 when i print the total out.

-----------------------------------
Homer_simpson
Tue May 27, 2003 9:05 pm


-----------------------------------
hehe i remeber doing the exact program a long time ago(5-6 years ago) but u wouldn't pick from any menu... u'd enter the price and the bill...i did it with turbo pascal(Oh memories =Ãž)

-----------------------------------
void
Tue May 27, 2003 9:09 pm


-----------------------------------
long live pascal

-----------------------------------
void
Tue May 27, 2003 9:22 pm


-----------------------------------
i think this is what your looking for mr.im too lazy to try...

var names : array 1 .. 15 of string := init ("Hamburger", "Cheese Burger",
    "Chicken Burger", "Submarine", "Salad", "2 Cookies", "Fries", "Pasta",
    "Mashed Potatoes", "Baked Potatoes", "Pop", "Chocolate Milk",
    "Gatorade/ Powerade", "Water", "Slush Puppy")
var prices : array 1 .. 15 of real := init (3, 3.4, 2.4, 5, 3, 1, 2, 2, 1.5,
    1, 1, 1.5, 2, 1, 1.35)
var choice : array 1 .. 3 of int
var total : real := 0
var bill : real
var change : real
var t, l, q, d, n, p : real := 0
put "Main Dishes         Prices"
for a : 1 .. 5
    put a, "-", names (a) : 21, prices (a) : 0 : 2
end for
get choice (1)
for a : 6 .. 9
    put a, "-", names (a) : 21, prices (a) : 0 : 2
end for
put "10-", names (10) : 20, prices (10) : 0 : 2
get choice (2)
for a : 11 .. 15
    put a, "-", names (a) : 20, prices (a) : 0 : 2
end for
get choice (3)
total := prices (choice (1)) + prices (choice (2)) + prices (choice (3))
for a : 1 .. 3
    put names (choice (a)) : 23, prices (choice (a)) : 0 : 2
end for
put "--------------------------"
put "TOTAL:" : 22, total : 0 : 2
put "Enter Bill Being Used:$" ..
get bill
if bill = 100 or bill = 50 or bill = 20 or bill = 10 or bill = 5 then
elsif bill not= 100 or bill not= 50 or bill not= 20 or bill not= 10 or
        bill not= 5 then
    put "YOU IDIOT THAT IS NOT A BILL"
    put "TERMINATING PROGRAM DUE TO STUPIDITY"
end if
change := bill - total
cls
t := change div 2
change := change - (t * 2)
l := change div 1
change := change - (l * 1)
q := change div .25
change := change - (q * 0.25)
d := change div .1
change := change - (d * 0.1)
n := change div .05
change := change - (n * 0.05)
p := change div .01
change := change - (p * 0.01)
put "Toonies :", t
put "Loonies :", l
put "Quarters:", q
put "Dimes   :", d
put "Nickels :", n
put "Pennies :", p

if that doesnt work....your loss not mine

-----------------------------------
Miko99
Tue May 27, 2003 10:10 pm


-----------------------------------
awwww u hurt my feelings....for a second...until i realise its true. and by the way, i dont like your driving so i plan on staying off my lawn! LoL

-----------------------------------
void
Wed May 28, 2003 7:49 am


-----------------------------------
dont try to get on my good side...you ruined our perfectly fine pointless topic...

-----------------------------------
Miko99
Tue Jun 03, 2003 9:53 am


-----------------------------------
How do i get this to be continuous. The user will select there choices as much as they want and the price will continue to ad up.

My code so far thanks to void: var names : array 1 .. 17 of string := init ("Pizza", "Crispy Fries", "Hamburger", "Cheese Burger",
    "Chicken Burger", "Submarine", "Salad", "2 Cookies", "Fries", "Pasta",
    "Mashed Potatoes", "Baked Potatoes", "Pop", "Chocolate Milk",
    "Gatorade/ Powerade", "Water", "Slush Puppy")
var prices : array 1 .. 17 of real := init (2.5, 4, 3, 3.4, 2.4, 5, 3, 1, 2, 2, 1.5,
    1, 1, 1.5, 2, 1, 1.35)
var choice : array 1 .. 3 of int
var total : real := 0
var bill : real
var change : real
var f, t, l, q, d, n, p : real := 0
var choice5:string
var count:int:=0
put "Main Dishes         Prices"
loop
count:=count+1
for a : 1 .. 7
    put a, "-", names (a) : 21, prices (a) : 0 : 2
end for
get choice (1)
for a : 8 .. 12
    put a, "-", names (a) : 21, prices (a) : 0 : 2
end for
put "10-", names (10) : 20, prices (10) : 0 : 2
get choice (2)
for a : 13 .. 17
    put a, "-", names (a) : 20, prices (a) : 0 : 2
end for
get choice (3)
total := prices (choice (1)) + prices (choice (2)) + prices (choice (3))
put ("Would you like select 3 more things")
get choice5 
exit when (choice5="no")
end loop
for a : 1 .. 3
    put names (choice (a)) : 23, prices (choice (a)) : 0 : 2
end for
put "--------------------------"
put "TOTAL:" : 22, total : 0 : 2
put "Enter Bill Being Used:$" ..
get bill

if bill not= 100 or bill not= 50 or bill not= 20 or bill not= 10 or
        bill not= 5 then
    put "That is not a valid Bill"
  

elsif bill = 100 or bill = 50 or bill = 20 or bill = 10 or bill = 5 then
end if


change := bill - total
cls
put "Your change is: $", change, " and you will get: "
f := change div 5
change := change - (f * 5)
t := change div 2
change := change - (t * 2)
l := change div 1
change := change - (l * 1)
q := change div .25
change := change - (q * 0.25)
d := change div .1
change := change - (d * 0.1)
n := change div .05
change := change - (n * 0.05)
p := change div .01
change := change - (p * 0.01)

put "Fives :", f
put "Toonies :", t
put "Loonies :", l
put "Quarters:", q
put "Dimes   :", d
put "Nickels :", n
put "Pennies :", p


-----------------------------------
w0lv3rin3
Tue Jun 03, 2003 8:41 pm


-----------------------------------
I'm looking @ this code, what does 21 and 0 : 2 do witin the code

for a : 1 .. 7 
    put a, "-", names (a) : 21, prices (a) : 0 : 2 
end for 
get choice (1) 
for a : 8 .. 12 
    put a, "-", names (a) : 21, prices (a) : 0 : 2 
end for 


also here

what does 23, 0 : 2, and in put "TOTAL:" : 22, total : 0 : 2, where u see 22, total : 0 : 2, whats those numbers their for?

for a : 1 .. 3 
    put names (choice (a)) : 23, prices (choice (a)) : 0 : 2 
end for 
put "--------------------------" 
put "TOTAL:" : 22, total : 0 : 2 
put "Enter Bill Being Used:$" .. 
get bill 


-----------------------------------
Tony
Tue Jun 03, 2003 9:15 pm


-----------------------------------
alignment...

:number after a string sets the minimum size string has to be and adds spaces to output to match that number, so you can have preaty looking columns...

second :number sets presision of real values (desimal places)

-----------------------------------
Miko99
Wed Jun 04, 2003 1:01 pm


-----------------------------------
Well how do i get that code to loop over and over and the total continusely adds up and is displayed at the end, with the exact coins they will get back.

-----------------------------------
krishon
Wed Jun 04, 2003 1:36 pm


-----------------------------------
just put a loop around everything  :lol:

-----------------------------------
Miko99
Mon Jun 09, 2003 8:02 am


-----------------------------------
Tried it, and id didn't work.

-----------------------------------
Andy
Mon Jun 09, 2003 8:06 am


-----------------------------------
turing's mod is screwed up, there is a rounding error

-----------------------------------
Grey_Wolf
Mon Jun 09, 2003 3:42 pm


-----------------------------------
var names : array 1 .. 17 of string := init ("Pizza", "Crispy Fries", "Hamburger", "Cheese Burger", 
    "Chicken Burger", "Submarine", "Salad", "2 Cookies", "Fries", "Pasta", 
    "Mashed Potatoes", "Baked Potatoes", "Pop", "Chocolate Milk", 
    "Gatorade/ Powerade", "Water", "Slush Puppy") 
var prices : array 1 .. 17 of real := init (2.5, 4, 3, 3.4, 2.4, 5, 3, 1, 2, 2, 1.5, 
    1, 1, 1.5, 2, 1, 1.35) 
var choice : array 1 .. 3 of int 
var total : real := 0 
var bill : real 
var change : real 
var f, t, l, q, d, n, p : real := 0 
var choice5:string 
var count:int:=0 
put "Main Dishes         Prices" 
loop 
count:=count+1 
for a : 1 .. 7 
    put a, "-", names (a) : 21, prices (a) : 0 : 2 
end for 
get choice (1) 
for a : 8 .. 12 
    put a, "-", names (a) : 21, prices (a) : 0 : 2 
end for 
put "10-", names (10) : 20, prices (10) : 0 : 2 
get choice (2) 
for a : 13 .. 17 
    put a, "-", names (a) : 20, prices (a) : 0 : 2 
end for 
get choice (3) 
total := prices (choice (1)) + prices (choice (2)) + prices (choice (3)) 
put ("Would you like select 3 more things") 
get choice5 
exit when (choice5="no") 
end loop 
for a : 1 .. 3 
    put names (choice (a)) : 23, prices (choice (a)) : 0 : 2 
end for 
put "--------------------------" 
put "TOTAL:" : 22, total : 0 : 2 
put "Enter Bill Being Used:$" .. 
get bill 

if bill not= 100 or bill not= 50 or bill not= 20 or bill not= 10 or 
        bill not= 5 then 
    put "That is not a valid Bill" 
  

elsif bill = 100 or bill = 50 or bill = 20 or bill = 10 or bill = 5 then 
end if 


change := bill - total 
cls 
put "Your change is: $", change, " and you will get: " 
f := change div 5 
change := change - (f * 5) 
t := change div 2 
change := change - (t * 2) 
l := change div 1 
change := change - (l * 1) 
q := change div .25 
change := change - (q * 0.25) 
d := change div .1 
change := change - (d * 0.1) 
n := change div .05 
change := change - (n * 0.05) 
p := change div .01 
change := change - (p * 0.01) 

put "Fives :", f 
put "Toonies :", t 
put "Loonies :", l 
put "Quarters:", q 
put "Dimes   :", d 
put "Nickels :", n 
put "Pennies :", p 

This code should loop it forever although i would suggest asking the user if they wish to continue.

-----------------------------------
Miko99
Wed Jun 11, 2003 9:22 am


-----------------------------------
That code doesn't keep everything the user selects in memory. I need it to keep everything. so i fi select 6 things, then i get charged for 6 things.

-----------------------------------
Miko99
Thu Jun 12, 2003 7:48 am


-----------------------------------
can someone please tell me how to get the food program to loop and continuesly add up the prices no matter how much food i select.
