Aussie best car (abc) has now decided to award


Aussie Best Car (ABC) has now decided to award an additional bonus based on the bonus contributed by the sales of an individual car type. It decides to award an additional bonus of x% of the bonus contributed by the sales of Toyota Kluger, y% of the bonus contributed by the sales of Nissan Patrol and z% of the bonus contributed by the sales of Ford Territory. The additional bonus rates (i.e. the values of x, y and z) will be determined by the board of directors of ABS.

The Managing Director therefore requests you to extend your program for A2 in order to facilitate the calculation of the additional bonus as follows.

The main program should ask a user (the Managing Director or another employee) to input the additional bonus rates (i.e. the values of x, y and z) one by one, for the calculation of the additional bonus. The program then should pass the additional bonus rate for a car type to a function called CalculateAdditionalBonus() which will take two inputs: the car type and bonus contributed by the sales of the car type. From the car type information the CalculateAdditionalBonus() function will collect the appropriate additional bonus rate. The function will return the additional bonus for a car type.

The function CalculateTotalBonus() will call sub-functions to calculate the total bonus as calculated in A2. Moreover, CalculateTotalBonus() will call CalculateAdditionalBonus() in a loop to calculate the additional bonus for each and every car type. The function will return the grand total bonus (i.e. the total bonus plus the total additional bonus).

The program should display the total sales, sales for each car type, total bonus, bonus contributed by each car type, additional bonus for each car type and grand total bonus.

An example of a partial output can be follows.

Total Sales: $500,000
Sales of Toyota Kluger: $500,000
Sales of Nissan Patrol: $0
Sales of Ford Territorry: $0

Total Bonus: $500
Bonus contributed by Toyota Kluger: $500
Bonus contributed by Nissan Patrol: $0
Bonus contributed by Ford Territory: $0

Additional Bonus for Toyota Kluger: $50
Additional Bonus for Nissan Patrol: $0
Additional Bonus for Ford Territory: $0

Grand Total Bonus: $550

The program should finally prompt the user with the following message, "Do you want to calculate the sales and bonus for another year (Y/N)?". If the user enters "Y" then the whole process will be repeated for another year, except that the bonus rates (as shown in the table in A2) will remain unchanged. The program quits if the user enters "N".

Use multiple functions, instead of using a single function to do everything. Create a good design of the functions to make the best use of the code and avoid duplicate calculations. You also need to design your program so that it has components that can be reused in another program, if needed.

Write an algorithm in structured English (pseudocode) that describes the steps required to perform the task specified. Some examples of pseudocode can be found at https://www.unf.edu/~broggio/cop2221/2221pseu.htm.

Implement your algorithm in Python.

Avoid duplicate code. For example, do not calculate the bonus in multiple places in your code.

Comment your code as necessary to explain it clearly.

Select 3 sets of test data that will demonstrate the correct "normal" operation of your program.

Run your program using the test data you have selected and save the output it produces in a text file. 

Request for Solution File

Ask an Expert for Answer!!
Basic Computer Science: Aussie best car (abc) has now decided to award
Reference No:- TGS080939

Expected delivery within 24 Hours