Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Math Expert


Home >> Math

1. Problem

In this assignment, you are invited to design and implement a software system for catalogue sale. A catalogue is organised in a tree structure. Each node of the catalogue tree represents either an item for sale or a category. The following is an example of such a catalogue:
Books

Textbooks
Computer Science
Data structures Using C++ Java: How to program
Mathematics
...
Social Science
...

Audiobooks
... Magazines
...
Movies, Music & Games Blue-ray
...
Music
MP3 Downloads
Video Games Home, Garden & Tools
Kitchen & Dining Appliances
...
Sports & Outdoors
Exercise & Fitness
Precor Premium Series 9.31 Treadmill Bike & Scooters
...

There are three roles in the system: sellers, buyers and the Manager. A seller can:
•Traverse the catalogue
•Place a sell item under an existing category
•Create a new subcategory under the root category or any other subcategories

A buyer can:
•Traverse the catalogue
•Buy an item whatever is available in the catalogue

The Manager can:
•Traverse the catalogue
•Create a new category
•Delete an existing category
•Remove a selling item
Input data
Selling items
An item for sale consists of the following information:
ItemName: a string of no more than 50 characters.
ItemKey: the key of the selling item with integer data type. The key should be automatically generated by your program when the seller publishes the item. Different items should have different item keys.
Description: a brief description of the item, a string of no more than 100 characters.
Price: the published price in double.
MaxDiscount: the maximal discount of the published price (value between 0.0% and 100.0%).
For instance, the following is the information of a digital camera: ItemName: Precor Premium Series 9.31 Treadmill ItemKey: 112
Description: Professional-quality treadmill for the home with innovative design that adjusts belt speed to foot speed
Price: $3599.00
MaxDiscount: 10%

Note that any buyer who offers a price higher or equal to $3239.10 will get the item, paying at his/her offer price up to the full price (value between $3239.10 and $3599.00).

Categories

A category consists of the following information:

CategoryName: a string of no more than 50 characters.
CategoryKey: the key of the category with integer data type. The key should be automatically generated by your program when it is created.
Different categories should have different category keys.

Functionalities

Your program should include three components selling, buying and managing for the use of sellers, buyers and the Manager, respectively. Provide a menu for a user to enter each component.

Selling
When a seller has an item to sell, she/he will first check the catalogue to find a suitable category to place the item. Your program should allow the seller to traverse all available categories level by level from the root to the leaves. Giving the above catalogue as an example, the program will first show the following root category:

Catalogue:
1 Books
2 Movies, Music and Games
3 Home, Garden and Tools
4 Sports & Outdoors
5 Add a new category
6 Add a selling item
7 Quit to main menu

If the user chooses Option 1, your program will list the content of subcategory -
Books:

Books:
1 Textbooks
2 Audiobooks
3 Magazines
4 Add a new category
5 Add a selling item
6 Quit to main menu

If a user chooses a number which points to a selling item, your program should show the information of the item (expect for the information of maximal discounts). If a user chooses "Add a new category", the program should ask for the title of the category and add it into the catalogue. If the user chooses "Add a selling item", the program should ask for the information of the item and add the item into the catalogue under the current level.

Note that a category can contain either subcategories, selling items or both. For instance, there could be a selling item under Books, which does not belong to any subcategory under this category.

Buying
When a user enters the system as a buyer, the system will allow the user to travel over the catalogue level by level. Once hit a selling item, the system will prompt a menu for the user to choose either buy the item or back to the up level. If the user chooses to buy, the program will ask the user for an offer price. If the offer price is higher or equals to the sale price (the published price * (1- maximal discount)), the item will be sold at the price either the buyer is offered or the published price if the offer price is higher than the published price. The item is then removed from the catalogue.

Managing
When a user enters as the Manager, the program will allow the user to traverse the catalogue, delete a category or a selling item, and modify a category or selling item.

2. Requirement and Marking Criteria

You are required to implement your program by using C++. You are allowed to use any available data structure ADTs or available programs under the condition of keeping the copyright statement of the programs. You could use any of the standard data structures, including arrays, linked lists, stacks, queues, priority queues, general trees, binary trees, binary search trees, AVL trees, heaps and graphs, or you could invent your own data structures for your solution. You need to explain the reasons of why you choose to use the data structures in your documentation.

Pass Level: If you are targeting a pass grade only, you could implement an item sale system only without the implementation of a full catalogue sale. In other words, you could place all selling items under the root category without any subcategories. However, you have to use a Binary Search Tree to store all selling items. You have to implement at least the following functions and make your program workable:
• Automatically generate item keys for all the selling items
• Provide the functions for sellers to place selling items.
• Provide the functions for buyers to buy items (delete the items that are sold).

Describe the data structures and algorithms you use in your implementation (up to one A4 page exclusive the cover page).

Credit Level: If you are targeting a credit grade, you must implement a system of catalogue sale with multiple levels of categories. You can design your own data structures for storing the catalogue. You have to implement at least the following functionalities:
• Automatically generate item keys and category keys
• Provide the functions for sellers to place selling items and create new categories.
• Provide the functions for buyers to buy items (delete the items that are sold).

Describe the data structures and algorithms you use in your implementation (up to one A4 page exclusive the cover page).

Distinction level: Implement all the functionalities in credit level plus the functionalities for the Manager.

Describe what the data structures and algorithms you use in your implementation and Explain why you choose to use them (up to two A4 pages exclusive the cover page).

High Distinction Level: Implement all the functionalities in Distinction level plus a comprehensive analysis on suitability and efficiency of the data structures and algorithms you use in your implementation. Your documentation should not exceed four A4 pages. Note that your work will be graded according to suitability of your data structures and efficiency of your algorithms.

The weight of the assignment is 20% of the total marks of the subject.

3. Deliverables and submission

Documentation: Submit your report with a cover sheet to the vUWS and hand in a hard copy of your report (not the code) to your tutor when you demonstrate

Source code: You are required to submit your source code, including header files and other accessory files, to vUWS by the due day.

Zip all the files in one file when you submit. No email submission is acceptable (we have no access to your account). Late submissions are allowed with 10% penalty per day up to 11am Wed 2 Nov 2011. Submission after this time will be impossible.

4. Demonstration

You are required to demonstrate your program to your tutor during your practical session in Week 14 on 2 Nov 2011. Print a hard copy of your report and present it to your tutor during your demonstration. You will receive a fail grade if you fail the demonstration. Note that Week 14 is the last week of this semester. If you miss the demonstration time, you will lose the chance of demonstration. It is your responsibility to get the appropriate compiler or IDE to run your program.

Attachment:- LECTURE NOTES.zip

Math, Academics

  • Category:- Math
  • Reference No.:- M91867936
  • Price:- $40

Priced at Now at $40, Verified Solution

Have any Question?


Related Questions in Math

Questions - provide solution to the following questionsq1

Questions - Provide solution to the following questions: Q1. Evaluate the following: ∫xsin3xdx Q2. If , then for what value of α is A an identity matrix? Q3. The line y = mx + 1 is a tangent to the curve y 2 = 4x. Find t ...

Maths assignment - 1 analysis of a data setusing a

Maths Assignment - 1. Analysis of a data set Using a continuous data set you are requested to collect in the types of data and gathering data section, perform a statistical analysis on your data. You have opportunities t ...

Assignment -question 1 let t and or 0 1 be a boolean

Assignment - Question 1. Let (T, ∧, ∨,', 0, 1) be a Boolean Algebra. Define ∗ : T × T → T and o : T × T → T as follows: x ∗ y := (x ∨ y)' x o y := (x ∧ y)' (a) Show, using the laws of Boolean Algebra, how to define x ∗ y ...

Assignment - provide solution to the following questionsq1

Assignment - Provide solution to the following questions: Q1. Evaluate the following: ∫xsin3x dx Q2. If , then for what value of α is A an identity matrix? Q3. The line y = mx + 1 is a tangent to the curve y 2 = 4x. Find ...

Question 1 what is the nth order approximation using taylor

Question: 1. What is the nth order approximation using Taylor series? 2. What is Error Propagation? 3. Please explain what the total numerical error is? Please illustrate how the change of step size will affect the total ...

Assessment taskpractical investigation- question 1 requires

Assessment Task Practical Investigation - Question 1 requires selecting reference points from the graph. It is expected that each student will choose different reference points to other students. Take note of the criteri ...

Clarity succinctness writing your name and netid1

Clarity, succinctness, writing your name and Netid: 1 Indistinguishability 1. If {X n }n is computationally indistinguishable from {Y n } n , {Y n } n is computationally indistin- guishable from {Z n } n, then (select th ...

Questions -q1 prove the following identitiesa sinx y sinx

Questions - Q1. Prove the following identities a. sin(x + y) + sin(x - y) = 2 sin x cos y b. sec(x - y) = cos(x + y)/(cos 2 x - sin 2 y) c. tan 2 x - sin 2 x = (tan x sin x) 2 Q2. Solve the following equations for x ∈ [0 ...

Assignment - solving the five question in the very details

Assignment - Solving the five question in the very details, thanks a lot. Question - Let a ∈ P n be a point. Show that the one-point set {a} is a projective variety, and compute explicit generators for the ideal I p ({a} ...

Mathematics- algebraic geometry problemlet k denotes an

Mathematics- Algebraic Geometry Problem Let K denotes an algebraically closed field and let P 1 be constructed as in Example 5.5(a) in Gathmanns notes, i.e. P 1 is the gluing of X 1 = A 1 and X 2 = A 1 along  the open su ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As