Answered step by step
Verified Expert Solution
Link Copied!

Question

00
1 Approved Answer

Description This assignment is to be implemented using object - oriented programming. The overall objective is to create a program that implements the processing of

Description
This assignment is to be implemented using object-oriented programming. The overall objective
is to create a program that implements the processing of customer orders for robots from a robot
construction company : ITR (Illawarra Toy Robotics). The company builds robots based on orders
placed by customers. As one would expect, each robot has a degree of complexity and will be
assembled, using only parts available in the inventory of the company. Technicians, also called
Builders, that work for ITR have different abilities. For each builder, the ability is variable around
some given value and affects the success or otherwise of a robot build. Details about, customers,
builders and parts will be given in the next sections.
General code notes
These are some general rules about what you should and should not do.
1. Your assignment should be organised into:
(a) A driver file containing your main() function.
(b) A header file containing the prototypes for the functions you write.
(c) An implementation file containing the implementations of your functions.
(d) A Readme.txt file in point 2.
2. Provide a text file Readme.txt with instructions for compiling your code on command line into
the executable ITR. The Readme.txt should actually be a text file, not a doc or docx or pdf or
rtf or something other than text, and the instruction should be a copy and pastable command.
g++ file1.cpp file2.cpp -o itr -std=c++17-Wall
3. Your code must use classes and inheritance, all user-defined functions should be
wrapped into classes.
4. Within your code, be consistent in your tabbing style. We want readable code.
5. Include sensible volumes of commenting.
6. Use appropriate variable names and be consistent in your chosen style.
1
7. Your main() function should make it clear what is going on, and should not be too large.
8. Other than the initial command line input, the program should run without user output. In
particular this means there should not be pauses waiting for the user to press a key.
9. Dont leak memory.
High-level view of this assignment
There are four components: Parts, Customers, Builders and Managers. Each of them serves particular
purposes. Your job is to implement and combine them to simulate the production process of the
Illawarra Toy Robotics.
Parts
There must be a class for Parts. The company maintains an inventory (or catalogue) of parts used to
build robots. Data file describing the available parts is named Parts.txt. The structure of the file is
as follows (colons are used to separate fields and the full stop to end the line):
Part_ code:Part_ name:Minimum:Maximum:Complexity.
Example:
A:Head:1:2:15.
B:Torso:0:6:5.
C:Leg:0:4:6.
D:Arm:0:4:8.
E:Tail:0:6:2.
As shown above, each part has a code indicated by single capital letter. The Minimum and
Maximum are limits on the number of the corresponding part type allowed in a proposed build. For
example, the minimum number of Head is 1 and maximum is 2; Torso, Leg, Arm and Tail have
minimum of 0. The complexity refers to the difficulty of producing this part and will impact the
success rate of the final production.
Customers
There must be some classes for Customers. Customer data is contained in a file that is named as
Customers.txt and has no more than 10 entries. It provides information about the customers
name, project name and the parts required to build the order. The structure of the file is as follows
(colons are used to separate fields and the full stop to end the line):
Customer_name:Project_name:List_of_parts:VIP_bit(:quality_requirement)
Example:
Carly:Cat:ABCCCCE:1:5.
Dan:Dog:BCACECC:0.
Ernie:Ettin:AABCCDD:1:3.
2
Sally:Snake:AEEEE:0.
Harrison:Hedgehog:AACDEE:1:6.
Isabella:Iguana:AABCDEE:0.
Nolan:Newt:AABCDDE:0.
Olivia:Ostrich:AABCCDD:0.
Emily:Elephant:AABCDE:1:4.
Natalie:Nightingale:AABCDE:0.
The Customer_name is the name of the customer that submitted the order. It is a non-empty
string of printable characters that may include spaces.
If the VIP_bit equals 0, the customer is an ordinary customer. If the VIP_bit equals 1, it
indicates that the customer is a VIP and will be prioritized to match with a Senior builder. If the
customer is a VIP customer, the next data in the line will be the quality_requirement quantified as
an integer value.
The Project_ name is chosen by the customer and is supposed to represent the type of robot
to be built. It is a non-empty string of printable characters that may include spaces.
The List_ of_ parts contains a list of letters with each letter corresponding to a part in the
Parts.txt file. They do not need to be in alphabetical order. There should not be more than 10 parts
for any order.
Question to think about: how many classes we need to have for customers? What is their
relationship?
Builders
There must be some

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered 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

Students also viewed these Databases questions