payment for hunain60 - 62434

Request Posted by
chrislsmith14

chrislsmith14

Rating : No Rating
  • Requests:0
  • Solutions:0
Earned: $0
Request Detail
Price: $60
  • From: Computer Science, Programming
  • Due on: Sun 27 Apr, 2014 (09:34am)
  • Asked on: Sun 27 Apr, 2014
  • Due date has passed, but you can still Post Solution.
Description

 

C++ language

IED: Dev C++

Part 1

Problem Description

RedFlix is soon to become the newest way to rent movies and games.  RedFlix will carry new-release and popular DVDs and Blu-ray™ Discs across many genres, as well as new-release and family-friendly video games for the PlayStation® 3, Nintendo Wii™ and Xbox 360™. 

Featuring up to 100 titles and 400 discs, a RedFlix automated rental store is contained in 12-square feet of retail space. The company plans to have a nationwide network of more than 30,000 locations.  RedFlix kiosks will be located where consumers already shop - leading grocery stores, mass merchant retailers, drugstores, restaurants and convenience stores nationwide.

RedFlix has a convenient rent-and-return anywhere policy. A simple touch screen rental process makes movie and game renting easy as each kiosk can query the entire system inventory. Customers are able to perform the following functions at a RedFlix kiosk:


1. Search availability by:

a. title - displays list of all locations where given title is available
b. location - displays a list of all available titles at given location
c. genre - displays a list of all available titles in given genre along with location of item


2. Rent - User enters title and location of item to be rented. System checks availability. If item is available at the given location, the number of available copies is reduced and the user is given an appropriate message. If item is in the system inventory, but not at the given location or all copies at the given location have been rented, then a list of all locations that have the title in stock should be displayed.  If item is unavailable (not in system inventory), then the user is given an appropriate error message.

3. Return - User enters title of item to be returned along with current location. System checks to see if an item with that title and at that location is currently in the inventory. If so, then the number of available copies is increased. Otherwise, a new RentalItem object is created and added to the inventory. The member variables of the new object should be initialized appropriately.

Project Requirements

For this part of the project, you will design and implement 2 classes. Define a class named, RentalItem that represents an item that a customer can rent. You will need to determine what a RentalItem object should know (member variables) and what responsibilities (member functions) it should have. Define a second class named, Inventory that represents the entire system inventory. In addition to any other member variables you might determine it should have, it must contain a member variable that is a collection of RentalItem objects. You can implement the collection either as an array or a linked list. (If you successfully implement a linked list collection, you will receive 25 bonus points.) NOTE: In order to make the coding simpler, you may make this attribute (only) public so you don't have to use a getter to access the array.  The Inventory class should also have member functions that implement all the actions a customer can perform. The Inventory class must also have a constructor that instantiates 10 RentalItem objects (fully initialized with values determined by programmer) and stores them in the collection member variable.

Demonstrate your program in main.cpp by presenting the user with a menu listing all the actions a customer can perform. Display the results of the chosen action and allow the user to perform additional actions until the user wishes to quit.

 

 


Project Deliverables

1.  Class Diagrams for both the RentalItem and Inventory classes. You will create only one UML diagram that will contain a class diagram for RentalItem and a class diagram for Inventory.  Create class diagrams using the UMLet editor software downloaded from Blackboard. Save the file with your first and last name as part of the filename. Export your diagram as a pdf file. To submit, upload the pdf file, not the UMLet file. YOU WILL UPLOAD ONLY 1 PDF FILE.

Part 2

Problem Description

In addition to renting movies and video games, RedFlix customers are able to use the touch screen at any kiosk to access their accounts and display information about their rental history. Customers are able to perform the following functions at a RedFlix kiosk:


1. Create a customer account. User enters appropriate customer information. If the customer is already in the system, the user is given an appropriate message. Otherwise, a new Customer object is instantiated and added to the customer base. The member variables of the new object should be initialized appropriately.

2. Display a list of currently rented items and their due dates. User enters customer name or customer number. If the given customer is not in the customer base, a new Customer object is instantiated and added to the customer base.  The member variables of the new object should be initialized appropriately. If there are no currently rented items for the given customer, an appropriate message is displayed. Otherwise, a list of the title, rental date and due date for all currently rented items is displayed.

3. Display a list of items rented on a specific date. User enters customer name or customer number and a date.  If the given customer is not in the customer base, a new Customer object is instantiated and added to the customer base. The member variables of the new object should be initialized appropriately. If there were no items rented on the given date for the given customer, an appropriate message is displayed. Otherwise, a list of the titles for all items rented on the given date is displayed.


Project Requirements

For this part of the project, you will design and implement 4 classes. You will need to determine what the objects of these classes should know (member/class variables) and what responsibilities (member/class functions) they should have. Define a class named, Customer that represents a RedFlix customer. Define a second class named, CustomerBase that represents the entire RedFlix customer base.  In addition to any other member variables you might determine it should have, it must contain a member variable that is a collection of Customer objects.  NOTE: In order to make the coding simpler, you may make this attribute public so you don't have to use a getter to access the array. The CustomerBase class must also have a constructor that instantiates 10 Customer objects (fully initialized with values determined by programmer) and stores them in the collection member variable. Define a third class named, Rent that represents the rental of a single item by an individual customer. It must be an aggregate class that contains references to objects of other types. C++ does not have a Date type. A Date class  has been written for you. Define a fourth class named, RentalTransactions that represents all rental transactions in the RedFlix system. In addition to any other member variables you might determine it should have, it must contain a member variable that is a collection of Rent objects. NOTE: In order to make the coding simpler, you may make this attribute public so you don't have to use a getter to access the array.

Modify the original code you wrote for the rent function in Part 1. Now when a customer rents an item at a kiosk, you should instantiate a Rent object and add it to the collection of rental transactions. The customer will be required to enter a customer name or customer id during the rental process. If they don't have a customer account, then a new Customer object should be instantiated and added to the customer base.

 

Demonstrate your program in main.cpp by presenting the user with a menu listing all the actions a customer can perform including the three new functions listed in the problem description. Display the results of the chosen action and allow the user to perform additional actions until the user wishes to quit. 


Project Deliverables

1.  Class Diagrams for Customer and Rent classes. Add these class diagrams to the UML diagram you created in Part 1 by editing your original UMLet file.  In addition to the class diagrams, you will need to indicate any relationships between the classes. Make sure your first and last name are part of the filename. Export your diagram as a pdf file. To submit, upload the pdf file, not the UMLet file. YOU WILL UPLOAD ONLY 1 PDF FILE.


UPLOAD CLASS DIAGRAMS HERE USING THE ASSIGNMENT LINK ABOVE


2.  Submit a zipped (non rar or any other compressed format) folder. Your first and last name must be part of the name of the folder. The folder should contain all the project files from the previous project plus:  Customer.cpp, Customer.h, CustomerBase.cpp, CustomerBase.h, Rent.cpp, Rent.h, RentalTransactions.cpp, RentalTransactions.h, and Date.cpp.


Attachments
Date.cpp
Date.cpp
1 Solution for payment for hunain60
Title Price Category solution By purchased  
Redflix Rental System part 2
$60.00 no category hunain60 1 time(s)
Please Login or Register to Submit the Solution for the Request