Write a program that determine which number produce sequence

Assignment Help Programming Languages
Reference no: EM131264378

Programming Assignment

Program #1

The local yogurt shop is expanding its selection of frozen treats, and would like you to modify the program you wrote in week 3 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.

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.

Sample Input and Output (continued on next page)

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

Testing

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 #2, enter letter for treat type: s

Enter number of ounces: 30

Charge for treat #2 is $ 13.50

Press any key to continue . . .

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 #3, enter letter for treat type: B

Charge for treat #3 is $ 3.49

Press any key to continue . . .

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 #4, enter letter for treat type: p

Enter number of scoops: 3
Enter number of toppings: 1

Charge for treat #4 is $ 2.43

Bill total for 4 treats is $ 25.08

Press any key to continue . . .

NEW CUSTOMER
Number of treats purchased (0 to exit): 0
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:

Program #2

- the exact user input used for the test
- the exact output expected

Mathematically, given a number , we can define a sequence , , ... where is the sum of the squares of the digits of . n is happy if and only if there exists i such that.

Here is an example:

First, take each digit of any positive integer, square them and add them together.

We will use the number nineteen as an example:

Then take each digit of this number, square them and add them together:

And repeat until the result is 1:

So when the sum of the squares of the digits in the last member in the sequence starting with n eventually reduces to 1, n is happy.

Additionally:

If a number is happy, then all members of its sequence are happy.
If a number is unhappy, all members of its sequence are unhappy.
The above example sequence: 19, 82, 68, 100
is happy, and so all of the terms within the sequence are also happy.

Write a program that determines which numbers produce a happy sequence, within a series of test numbers.

The user will provide a first number to test and a last number to test. The program will test the numbers starting with the first number, incrementing by one, and repeating until the last number.

Program Implementation Requirements:

1. Tell the user what the program does before prompting for input.
2. main will call a user-defined function to read the first and last numbers for the range to test from the user.

- The user-defined function will:

o Separately read and validate each number. Both the first and last numbers must be at least 1 and can be up to 9999 (remember to define constants for these values!)

- If the first number is not in the correct range, issue an error message and then re-prompt until the number entered is valid.

o The last number cannot be smaller than the first number.

- If the last number is not in the correct range or is smaller than the first number, issue an error message and then re-prompt until the number entered is valid.

o Pass back both values to main using reference parameters.

3. main will start with the first number as the test number, and loop until all numbers including the last number have been tested. Each time the loop runs, main will:

o Call a user-defined function to test if the number is happy.
o Display the results (whether the sequence is happy or unhappy), and pause so the results can be read by the user.
o Increment the test number.

- The user-defined function to test whether a number is happy must implement nested loops, as follows:

o A test number will be passed into the function.
o The function's outer loop will test the number, as follows:
o Use an inner loop to compute the sum of the squares of the digits in the current term. NOTE: You must use a loop, so this program will still work for larger numbers, if the maximum value of the last number constant is modified.
o Count and display each term.
o Each term displayed should be formatted to a width of 8, and 10 terms should be displayed per line.
o Repeat with the sum of the squares of the digits in the current term becoming the next term to test, until it is determined:

- The test number is happy (when the sum of the square of the digits is 1)
- The test number is unhappy (when 50 terms have been computed, without reaching 1).

o After the outer loop exits, the function shall display the number of terms in the sequence.
o A boolean value will be returned to main, indicating whether the displayed sequence is happy or not.

Testing of numbers 79 to 82 complete.

NOTES:

o If the first and last numbers are the same, and only the first number will be tested.
o For testing purposes, it may help to know that the happy numbers up to 100 are:
1, 7, 10, 13, 19, 23, 28, 31, 32, 44, 49, 68, 70, 79, 82, 86, 91, 94, 97, 100

Program and Function Documentation (both programs)

1) Include top of program comments as specified in course Content section 1.8.

2) Comment any constants/variables whose names are not completely descriptive.

3) Include prototypes for all of your user-defined functions. The prototypes should be placed above main, and the function definitions should be placed below main.

4) Provide a comment above each user-defined function definition that includes:

o Dividing lines
o A description of what the function does
o The name and a description of each input parameter, used to pass values into the function
o The name and a description of each output parameter, used to pass values back from the function
o The name (if there is one), and a description of what is returned from the function via the return statement (if anything).

Reference no: EM131264378

Questions Cloud

What measures you will take to protect against attack : What measures you will take to protect against attack? What measures you will take to prevent attacks? What measures you will take to be notified that you are being attacked?
What are the clients strengths : What are the client's strengths and how can you apply these strengths to appropriate interventions -  identify each technique as you work towards appropriate interventions with the client. To do this you will need to develop a brief dialogue
Develop a funding proposal for the agency : Develop a funding proposal for the agency -  Identify community partnerships that would collaborate with the agency to advance its mission
How should the balance sheet be expanded to prevent : Using an internet search tool, locate Procter & gamble’s investor relations web site. Under “Financial reporting,” you will find the company’s 2009 annual report. How should the balance sheet be expanded to prevent this?
Write a program that determine which number produce sequence : Write a program that determines which numbers produce a happy sequence, within a series of test numbers. Main will call a user-defined function to read the first and last numbers for the range to test from the user.
What would the growth have been on constant currency basis : Using an Internet search tool, find Procter & Gamble’s investor relations website.  Under “Financial Reporting,” you will find the company’s 2009 annual report.  In the annual report’s section titled “Management’s Discussion and Analysis,” you will f..
Straight-line-units-of-production-double declining basis : Prepare a depreciation schedule showing depr. exp., accumulated depreciation and ending book value, year-by-year. Three schedules for the 3 methods: straight-line, units-of-production, double declining basis. Asset is a delivery Truck. Assuming the t..
Develop a technology proposal : You have been hired by Crete LLC as an Information Technology consultant to develop a technology proposal. Crete LLC manufactures and distributes solar panel for the consumer market. Your job is to submit a proposal that meets their criteria.
Newly formed corporation subsequent to the exchange : Company A, Inc. is a distributor of office equipment. Company A has a wholly owned susidiary, JK, a equipment manufacturer. Company A has been talking to company B about forming a new business entity. Company B is also a distributor of office equipme..

Reviews

Write a Review

Programming Languages Questions & Answers

  Program that produces the decompostion of integers

Give a program that produces the decompostion of integers between 0 and 121 using powers of 3(1, 3, 9, 27, 81) - play a particular role using any language

  Write an algorithm in structured english

Write an algorithm in structured English (pseudocode) that describes the steps required to perform the task specified and implement your algorithm in Python.

  Write program which reads data into type integer

Write down the program which reads data into type int. Valid values are from 0 to 10. The program must find out how many values were inputted.

  A single instance

Suppose you want to create a class for which only a single instance (or object) should be created and that single object can be used by all other classes.

  Employee wage data application

A small company is moving all its employee data to a computer. To make a smooth transition, a software program will permit the data entry personnel to enter data into a file. Design a program that writes the employees.dat file

  Program to keep track of the seat availability of flight

A small airline company needs a program to keep track of the seat availability of its flights. Design the structure type FLIGHT to store a four-digit flight number.

  Implement a program to learn vocabulary of foreign languages

We want to implement a program which will help students learn the vocabulary of foreign languages. The first step, which has been assigned to you, is to build a data structure representing a list of English words and their translation in a foreign..

  Design electronic submission of assignments from students

This system must manage electronic submission of assignments from students to instructors. It must keep track of which students have submitted assignments and must allow instructors to manage the grading.

  Program to send signal from child process to parent process

Write a C program to send signal from child process to parent process - Create a suitable menu system that will allow the user to perform.

  Run the application

Running the application. Select Debug > Start Debugging to run your application. Test your application by checking one or more of the new services.

  Write program which simulates checkout queue object

Write program which simulates checkout line at supermarket. Line is queue object. Customers (i.e., customer objects) arrive in random integer intervals of 1-4 minutes.

  Program to display the bonus

product receives a 5% bonus, otherwise, he receives a 4% bonus. Display the bonus, formatted with a dollar sign and two decimal places, in the bonusLabel.

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