Question Description

I’m trying to study for my Computer Science course and I need some help to understand this question.

During
this class, you will be developing an application to offer and sell products to
users. Each week, you will complete a part of the project. You will add
additional functionality or improve available ones. In addition, you will write
a project’s document to explain your project’s requirements and design. Every
week, you will submit 2 items: the application and the documentation.
Additional information and the deliverables for each Individual Project will be
provided in the assignment description for the project.

In this
first Individual Project, you will create the application structure, select the
products to sell, and decide on the main features. You will also set up the
project document outline that you will add to each week as follows:

· 
The Application: Use the
following steps for the application:

1.  Select
your development approach.

2.  Decide on
the products that you are planning to sell.

3.  Create a
draft program design (on paper).

4.  Start
creating the program structure using the provided integrated development
environment (IDE).

5.  By the
end of Week 1, your program should do the following:

§  It should
ask customers to enter details such as their names and addresses.

§  It should
print a welcome message that includes the customer’s name.

§  It should
provide a list of available products with descriptions.

§  Add
comments to your code.

· 
The Documentation: Use the
following steps for the documentation:

0.  Title
page

§  Course
number and name

§  Project
name

§  Student
name

§  Date

2.  Table of
contents (TOC)

§  Use an
autogenerated TOC.

§  It should
be on a separate page.

§  It should
be a maximum of 3 levels deep.

§  Update
the fields of the TOC so it is up-to-date before submitting your project.

3.  Section
headings (Create each heading on a new page and indicate with “TBD”;
that is, to be determined.)

§  Week 2:
Functions

During
this class, you will be developing an application to offer and sell products to
users. Each week, you will complete a part of the project. You will add
additional functionality or improve available ones. In addition, you will write
a project’s document to explain your project’s requirements and design. Every
week, you will submit 2 items: the application and the documentation.
Additional information and the deliverables for each Individual Project will be
provided in the assignment description for the project.

In this
first Individual Project, you will create the application structure, select the
products to sell, and decide on the main features. You will also set up the
project document outline that you will add to each week as follows:

· 
The Application: Use the
following steps for the application:

1.  Select
your development approach.

2.  Decide on
the products that you are planning to sell.

3.  Create a
draft program design (on paper).

4.  Start
creating the program structure using the provided integrated development
environment (IDE).

5.  By the
end of Week 1, your program should do the following:

§  It should
ask customers to enter details such as their names and addresses.

§  It should
print a welcome message that includes the customer’s name.

§  It should
provide a list of available products with descriptions.

§  Add
comments to your code.

· 
The Documentation: Use the
following steps for the documentation:

0.  Title
page

§  Course
number and name

§  Project
name

§  Student
name

§  Date

2.  Table of
contents (TOC)

§  Use an
autogenerated TOC.

§  It should
be on a separate page.

§  It should
be a maximum of 3 levels deep.

§  Update
the fields of the TOC so it is up-to-date before submitting your project.

3.  Section
headings (Create each heading on a new page and indicate with “TBD”;
that is, to be determined.)

§  Week 3:
Object Oriented Programming

For this
assignment, you will continue working on your application to apply object-oriented
programming concepts and create a customer class. The customer class must be
used in your program. The new class will replace simple variables to handle
customer details. The functionality of the program will not change; however,
the code should be organized differently. You also need to update the project
document by adding the new class design and other potential classes.

· 
The Application

1.  Design
the customer class.

2.  Include
at least the customer name and address for the class.

3.  Create a
class function to set the class’s variables.

4.  Create a
class function to get the values of the class’s variables.

5.  Create
additional functions as necessary.

6.  Implement
your design using the provided Integrated Development Environment (IDE).

7.  Complete
the following in your code:

§  Implement
the new class.

§  Create an
object from the new class.

§  Set the
customer details using the class function.

§  Use the
class function to access the customer details.

· 
The Documentation

1.  Update
the project document with a new date and project name.

2.  Update
previously completed sections based on instructor feedback.

3.  New
content: Object-Oriented Programming:

§  Include
your new class design (a class diagram can be used).

§  Summarize
the changes that you implemented.

§  Discuss any
potential classes to be implemented in the future.

§  Week 4:
Strings and Arrays

For this
assignment, you will continue working on your application. You will use arrays,
strings, and numbers to represent the products selected by the customer and
their quantities. You also need to update the project document by explaining
the changes implemented.

· 
The Application

1.  Design
the solution.

2.  Use 2
arrays: one for the products, and one for the quantities.

3.  Use loops
to assign values to the arrays.

4.  Use loops
to read and print values from the arrays.

5.  Reuse the
functions that you developed in Week 2 and the customer class that you
developed in Week 3. Changes can be done as needed.

6.  By the
end of Week 4, your application should work as follows:

§  Ask the
customer to enter his or her details (e.g., name, address).

§  Print a
welcome message that includes the customer’s name.

§  Provide a
list of available products with descriptions.

§  Ask the
customer to select products and quantities.

§  Save the
provided details in arrays.

§  Read from
the arrays to print the order summary; that is, the products, quantities, and
the total price for each product.

§  Calculate
and print the total price for the order.

§  Add
comments to your code.

· 
The Documentation

1.  Update
the project document with a new date and project name.

2.  Update
the previously completed sections based on instructor feedback.

3.  New
content: Strings and Arrays

§  Summarize
the changes that you implemented.

§  Discuss
how using arrays changes the way that your code is organized.

§  Week 5:
Pointers

In this
Individual Project, you will continue working on your application. In Week 4,
you used 2 arrays to represent the list of products and their quantities.
Memory needs were determined before program execution. This week, you will use
dynamic allocation so the memory needs are determined during runtime. The
functionality of the program is not expected to change. You also need to update
the project document by explaining the changes implemented, and discuss how
using dynamic memory allocation changed your application structure.

· 
The Application

1.  Design
the solution.

2.  For the
quantities, use a pointer to the first item of an array of int. An example of
the declaration code may look like the following:

§  int * numbers;

§  numbers = new int [n];

3.  For the
products, use an array of pointers to strings, and dynamically allocate space
for each of the strings. An example of the declaration code may look like the
following:

§  char Temp[100]; // to hold
the entry

§  char * products [100]; // to hold
the products

4.  To fill
in the products array, read one product name from the user, check the length,
and then allocate memory based on the length of the entered word. The following
code is provided as an example:

§  cin >> Temp; // to get
the product

§  int len = strlen(Temp) +1 ;
// to determine the length of the product name

§  char* newProduct = new
char[len]; // to allocate memory

§  strcpy(newProduct, Temp);
// to copy the entry to a new product

§  products[0] = newProduct;
// to save in the array

5.  Use the
previous structure to provide the same functionality that was provided in Week
4.

6.  By the
end of Week 5, your application should work as follows:

§  Ask the
customer to enter his or her details (e.g., name and address).

§  Print a
welcome message that includes the customer’s name.

§  Provide a
list of available products with descriptions.

§  Ask the
customer to select products and quantities.

§  Save the
provided details in the new data structure.

§  Read from
the arrays to print the order summary (e.g., the products, quantities, and
total price for each product).

§  Calculate
and print total price for the order.

§  Release
the allocated memory.

§  Add
comments to your code.

· 
The Documentation

1.  Update
the project document with a new date and project name.

2.  Update
previously completed sections based on instructor feedback.

3.  New
content: Strings and Arrays

§  Summarize
the changes that you implemented.

§  Discuss
how using dynamic memory allocation changed your application structure.