Write a test plan to test the program

Assignment Help Programming Languages
Reference no: EM131310222

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.

Reference no: EM131310222

Questions Cloud

What is its role in systems design and analysis : What is the basic objective in a logistics design and analysis study? Is it normally a one-time activity? 2. What is sensitivity analysis, and what is its role in systems design and analysis?
Create software for the new line of phone applications : A Company needs to create software for their new line of phone applications. Customers will have the opportunity to both deposit funds and purchase the Apps.
What is the key objective in freight lane analysis : Why is a cost/benefit evaluation important to logistical systems design efforts?- What is the key objective in freight lane analysis?
Contrast strategic and tactical transportation decisions : What is the main advantage of the typical optimization technique in comparison to simulation?- Compare and contrast strategic and tactical transportation decisions.
Write a test plan to test the program : 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.
Examine the information gaps within the project : Create an evaluation plan that clearly correlates to the three learning objectives Exploration, Gathering and Analyzing Data and Making Decisions. Specify the measures that best fit each objective.Prepare a five question test that correlates with..
What factors influence the demand for product : What factors influence the demand for this product? What factors influence the supply of this product? How have these changes in supply and demand affected the equilibrium price of this product?
Compare and contrast three stages of functional aggregation : What is the functional aggregation paradigm and why is it important?- Compare and contrast the three stages of functional aggregation.
Responsibility of working with your organization ceo : You have been given the responsibility of working with your organization's CEO to do a competitive market analysis of the potential success of one of their existing products.

Reviews

Write a Review

Programming Languages Questions & Answers

  Develop a new predict function

Develop a new predict function so-called "elemnts_are_numbers" that checks all the elements of a list are numbers - Compare these two functions (sum-list 1 and sum-list2), what these function do?

  Create a class for working with mixed fractions

Create a class for working with mixed fractions. Only 3 private data members are needed: the int whole number part of the fraction, the int numerator of the fraction, and the positive int denominator of the fraction

  Enter codes of one to eight characters along

Consider a program to enter codes of one to eight characters along with an associated telephone number and associated notes. A code can represent a person's name, a person's initials, a place, or anything.

  Write application to store three tests grades of students

Write the application to store three tests grades of 20 students in two dimensional array GRADES. Then program must prompt user to select from the menu.

  Write down script to report cumulative size of all files

Write down script which will report cumulative size of all files in and below given directory. Your script will also report name and size (in bytes) of largest file with that directory tree.

  Do ides help or hinder newbies learning to code

Do IDEs help or hinder newbies learning to code? Should they first be exposed to a text editor without a lot of fancy features to learn how to set things up

  Use the arduino to make resistance meter

"use the arduino to make resistance meter. this should allow the user to plug a resistor into the breadboard and tell them what the resistance is"

  Create the program uses two arrays to hold employee names

Create the program which uses two arrays: one to hold employee names and one to hold employee salaries (standard US currency, two decimal points). The program must prompt user to enter employee names.

  Write and execute one join query

Attach a .txt file showing the SQL query program, and a Microsoft Word file with an authentication screen shot that shows the output of this join query.

  Write a program takes input from a user in the phone

Program takes input from a user in the phone of a phone number, 7 digits plus the hyphen. It then checks whether a user has entered Q to quit, if 0 or 555 are the begging sequence of inputs (if they are the program alerts the user to an error with..

  Create a class called pizzaorder

Create a class called PizzaOrder that has the following members: toppingsOffered[] - a constant array of Strings representing the choice of low-price toppings, e.g., { "onions", "bell peppers", "olives", "pepperoni"... }. This member is public and..

  Write a program that prompts the user to input number

Write a program that prompts the user to input three numbers. This program should then output the numbers in nondescending order.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd