Any five from:
• Initialisation
• Loop for entry order
• Input of item code and quantity
• Calculation of total price
• Method of termination of loop e.g. use of flag
• Generation of unique order code
• Display Order?
• ? display complete with unique order code, menu items, quantities, prices, total cost of order
Example algorithm
Total_Cost ← 0
Order_Complete ← FALSE
Order_Item ← 0
Order_Number ← 0
Daily_Order_Counter ← 1
// The following would be repeated throughout the day
REPEAT
OUTPUT "Enter item code or X to finish"
INPUT Item_Code[Order_Item]
IF Item_Code[Order_Item] <> "X"
THEN
Menu_Count ← 0
Menu_Flag ← FALSE
REPEAT
IF Menu_Code[Menu_Count] = Item_Code[Order_Item]
THEN
Menu_Place[Order_Item] ← Menu_Count
Menu_Flag ← TRUE
Total_Cost ← Total_Cost + Menu_Price[Menu_Count]
ELSE
Menu_Count ← Menu_Count + 1
ENDIF
UNTIL Menu_Flag ← TRUE
OUTPUT "How many would you like? "
INPUT Item_Quantity[Order_Item]
Order_Item ← Order_Item + 1
ELSE
Order_Complete ← TRUE
Order_Number ← Order_Number + 1
ENDIF
UNTIL Order_Complete = TRUE
OUTPUT "Order Number ", Order_Number
Counter ← 0
WHILE Item_Code[Counter] <> "X" DO
Menu_Count ← Menu_Place[Counter]
OUTPUT Item_Code[Counter], " ", Menu_Item{Menu_Count], " ",
Price[Menu_Count], " ",Item_Quantity[Counter]
Counter ← Counter + 1
ENDWHILE
OUTPUT "Total cost of order = ", Total_Cost
Daily_Order_Code[Daily_Order_Counter] ← Order_Number
Daily_Total_Cost_of_Order[Daily_Order_Counter] ← Total_Cost