Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Objective The objective of this project is to give you some experience working with DVD objects created from a user-defined DVD class and passing DVD

Objective

The objective of this project is to give you some experience working with DVD objects created from a user-defined DVD class and passing DVD objects to functions that manipulate them. The objects you will model in this project will be software DVDs. You will create several DVD objects and then load information into their instance variables. All of these DVD objects will then be passed to a global function that displays the instance variable values of each DVD object it receives. All of these DVD objects will then be passed to another global function that computes and displays the total cost as well as the average cost for the DVDs it receives. Finally, a function that receives a single DVD object will be called twice once for each of the two DVD objects. This function will allow the user to interactively change user-selected data items in the single DVD object passed to this function.

This project represents a hybrid solution which incorporates both objects of a Python class as well as global, free-standing, C-like functions that process object(s) passed to them. Hybrid solutions such as this are actually the most common solutions found in practice since the world typically cannot be ENTIRELY modeled as objects!

Specifications (minimum)

The DVD class contains the following instance variables:

self.__Title;

// The Name of the DVD

self.__DVDType;

// The Type of DVD

self.__Cost;

// The Cost of the DVD

The ONLY recognized (i.e., legal) software DVD types are, Game, Word, Compiler, Spreadsheet, Dbase, and Presentation (AND, no others!).

The DVD class contains (at a minimum) the following methods:

__init__(self, InTitle, InDVDType, InCost): . . .

// Constructor initialize instance variables

// with (validated) parameter values

setTitle(selfNewTitle): . . .

// Change the self.__Title instance variable value

setType(self NewType): . . .

// Validate and change the self.__DVD_Type instance variable value

getTitle(self): . . .

// Return self.__Title instance variable value

setType(self NewType): . . .

// Validate and change the self.__DVD_Type instance variable value

getCost(self): . . .

// Return the value in the self.__Cost instance variable value

loadInformation(self): . . .

// Interactively prompt-for, input, and set all instance variables

listValidDVDtypes(self): . . .

// Support method that displays list of valid DVD types

The global functions are as follows:

  • Prototype:
    • def Display_DVD_Information(DVD1, DVD2, DVD3): . . .
      • Pseudo code:
        • For each DVD object parameter, retrieve and display its instance variable values in a nicely-formatted list (or table).
  • Prototype:
    • def DisplayTotalAndAverageCosts(DVD1, DVD2, DVD3): . . .
      • Pseudo code:
        • Retrieve and sum the individual costs of the DVD objects and display the total cost and then display the average cost
  • Prototype:
    • def ChangeDVD(A_DVD): . . .
      • Pseudo code:
        • Interactively change the instance variable value of the passed-in DVD object. For the current value of each instance variable be sure to FIRST display this value before asking your user whether he/she wants to change this value. If so, the prompt-for, input, validate(where necessary) and then save the new instance variable value.
        • The main() function will:
        • Declare several (at least three) individual DVD objects, e.g.,
        • DVD1 = DVD(, , ) // etc.
  • Call the global function, Display_DVD_Information(), to display the contents of each of the DVD objects passed to this function. This will demonstrate that your DVD constructor works as you implemented it. Load each DVD object with information of your choice by calling member function, LoadInformation(), on each DVD object, e.g.,

DVD1.LoadInformation(); // etc.

  • Call the global function, Display_DVD_Information(), again to display the contents of each of the DVD objects passed to this function after you have loaded each DVD object with user-selected values.
  • Next, call the global function, DisplayTotalAndAverageCosts() to compute and display, 1) the total cost and then, 2) the average cost of the DVD objects passed to this function.
  • Call global function, ChangeDVD(), for each of the first two DVD objects.
  • Call global function, Display_DVD_Information(), again to see the changes just made to the first two DVDs.
  • Call global function, DisplayTotalAndAverageCosts(), again to see how the total and average costs have changed.

Deliverable(s)

Your deliverable should be a Word document with screenshots showing the source code and running results. If the source code is too long, you may insert your source code files as Packages into the Word document. You may also login to the class by using a browser in the AWS, and upload your source code directly. Submit a cover sheet with the hardcopy of your work.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle Database 10g Insider Solutions

Authors: Arun R. Kumar, John Kanagaraj, Richard Stroupe

1st Edition

0672327910, 978-0672327919

More Books

Students also viewed these Databases questions