Ask Programming Language Expert

Program #1

The local yogurt shop is expanding its selection of frozen treats, and would like you to modify the program you wrote to calculate and print their customer's bills. You will also write a test plan to test the program.

• This shop now has four types of frozen treats: frozen yogurt and soft serve ice cream by the ounce, premium ice cream by the scoop, and ice cream bars. These items are available at the following rates:

Treat Type Price
Frozen Yogurt $ 0.44 per ounce
Soft Serve Ice Cream $ 0.49 per ounce
Premium Ice Cream $ 1.62 per scoop
Ice Cream Bars $ 3.49 per bar

• Single servings of frozen yogurt or either type of ice cream may be purchased in a plastic cup (waffle cones are no longer available).

o Plastic cups hold up to 16 ounces or 5 scoops

• Customers may optionally add toppings to their yogurt or ice cream. The first topping is included free, but additional toppings cost $0.63 per topping.

• Yogurt and soft serve ice cream may be purchased, without any toppings, in larger take out container that will hold amounts up to 64 ounces. Take out purchases are sold at a discount. (NOTE: If a purchase is over 16 oz, the program will be assume it is a take out purchase.)

• Purchases (over 16 oz) up to 32 ounces are given a $0.04 discount per ounce.

• Purchases of more than 32 ounces are given a $0.08 discount per ounce.

• Multiple treats may be purchased on a single bill.

• The punch card program has been discontinued in favor of a quantity discount. If 4 or more treats are purchased on one bill, the last treat in the purchase is charged half price.

Define constants for all fixed values, and use double precision floating point variables for all dollar & cents figures.

Implementation Details

At a minimum, the program must implement the following functions (in addition to main):

• Generic function 1 to read and validate any positive number (including 0).

This function will have one input parameter, a string prompt, used to ask for input. It will loop until a valid integer has been entered, and will return the validated integer.

• Generic function 2 to read and validate a number between 1 and a maximum value.

This function will have two input parameters, a string, which describes the value to be read (to be used in prompts and error messages), and the maximum value that can be entered. It will loop until a valid integer (1 to maximum) has been entered, and will return the validated integer.

• One function to read and validate the treat type.

This function will display a menu of treat choices, along with prices of each, to the user. It will prompt for the treat type (Y, S, P, or B), and error check that the user has entered a valid choice (accepted in upper or lowercase). If not, issue an error message and re-prompt until a valid choice is entered. The function will return the validated choice in uppercase.

• One function to calculate the base treat charge.

This function will have two input parameters, the treat type and amount purchased. It will calculate and return the charge for the specific amount of treat purchased, including take out discounts.

• One function to calculate the toppings charge.

This function will have two input parameters, the treat type and amount purchased. It will decide whether toppings are allowed (Toppings are allowed for yogurt or soft serve ice cream under take out limits, and premium ice cream).

If toppings are allowed, this function will call generic function number 1 to read and validate the number of toppings. It will then calculate the toppings charge, and return the toppings charge, or 0 if there was no charge.

• One function to calculate the total cost for one treat (includes base charge and topping charge, if necessary).

This function will have one input parameter, the treat type. If necessary, it will call generic function 2 to determine the amount (ounces or scoops) purchased. (Max of 64 ounces for yogurt and soft serve, and 5 scoops for premium). It will then call the above two charge functions. The function will return the total cost for one treat.

Remember that the use of global variables is NOT allowed. The functions must use parameters and return values to pass required data to and from each function.

• All input only parameters should be passed by value.

• Output (reference) parameters are used when more than one value is being passed back. If only one value is passed back, the return statement should be used instead.

This program will calculate customer bills for frozen treats

NEW CUSTOMER

Number of treats purchased (0 to exit): 4

Treat Choices:
Y - Frozen Yogurt $ 0.44 per ounce
S - Soft Serve Ice Cream $ 0.49 per ounce
P - Premium Ice Cream $ 1.62 per scoop
B - Ice Cream Bar $ 3.49 per bar

For treat #1, enter letter for treat type: y
Enter number of ounces: 10
Enter number of toppings: 3
Charge for treat #1 is $ 5.66
Press any key to continue . . .

Program Execution

1. Display a description to the user, explaining what the program will do.

2. Implement an outer loop in main, to process customer orders, as follows:

a. Call generic function number 1 to read the number treats purchased by one customer.
b. If the function returns 0, exit the outer loop. Otherwise:

Using the value entered by the customer, implement an inner loop in main, to calculate the cost for each treat, as follows:

i. Call the function to read and validate the treat choice.
ii. Call the function to calculate the total cost for one treat.
iii. Decide whether treat should be half cost, and adjust it accordingly.
iv. Display the cost of the treat and add it to the total bill for the customer.

c. After the cost of all treats for one order have been displayed (i.e. the inner loop exits), display the total bill amount.

3. The outer loop should continue to loop, until 0 is entered for the number of treats purchased by one customer.

Testing

As part of your submission for this week, you must write a test plan for this program (program 1). Remember to test the border cases that generally cause errors.

Your test plan must include:

• the rationale for testing each condition within the program

• a list of the specific test cases

Each test case must include:

• the exact user input used for the test

• the exact output expected.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M92064844
  • Price:- $40

Priced at Now at $40, Verified Solution

Have any Question?


Related Questions in Programming Language

Assignment - haskell program for regular expression

Assignment - Haskell Program for Regular Expression Matching Your assignment is to modify the slowgrep.hs Haskell program presented in class and the online notes, according to the instructions below. You may carry out th ...

Assignment task -q1 a the fibonacci numbers are the numbers

Assignment Task - Q1. (a) The Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and are characterised by the fact that every number after the first two is the sum of the ...

Question - create a microsoft word macro using vba visual

Question - Create a Microsoft Word macro using VBA (Visual Basic for Applications). Name the macro "highlight." The macro should highlight every third line of text in a document. (Imagine creating highlighting that will ...

Assignmentquestion onegiving the following code snippet

Assignment Question One Giving the following code snippet. What kind of errors you will get and how can you correct it. A. public class HelloJava { public static void main(String args[]) { int x=10; int y=2; System.out.p ...

Assignment - proposal literature review research method1

Assignment - Proposal, Literature Review, Research Method 1. Abstract - Summary of the knowledge gap: problems of the existing research - Aim of the research, summary of what this project is to achieve - Summary of the a ...

1 write a function named check that has three parameters

1. Write a function named check () that has three parameters. The first parameter should accept an integer number, andthe second and third parameters should accept a double-precision number. The function body should just ...

Assignment - horse race meetingthe assignment will assess

Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

Task silly name testeroverviewcontrol flow allows us to

Task: Silly Name Tester Overview Control flow allows us to alter the order in which our programs execute. Building on our knowledge of variables, we can now use control flow to create programs that perform more than just ...

Structs and enumsoverviewin this task you will create a

Structs and Enums Overview In this task you will create a knight database to help Camelot keep track of all of their knights. Instructions Lets get started. 1. What the topic 5 videos, these will guide you through buildi ...

Task working with arraysoverviewin this task you will

Task: Working with Arrays Overview In this task you will create a simple program which will create and work with an array of strings. This array will then be populated with values, printed out to the console, and then, w ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As