Reference no: EM132223437
Topics:
1. Further implementation of linked list data structure in C++.
2. C++ classes.
Objectives: To demonstrate an ability to:
1. Develop algorithm for solving linked-list problems.
2. Convert C-style data structures (e.g. linked list) into a C++ class with member functions.
Header files
allowed: iostream, list.h
Use of other header files will cause a deduction of 20 points.
Deliverables: Put the following 5 files in the submission folder:
1. list.cpp
2. makefile.gnu, makefile.ms - the Makefiles for GNU and Microsoft compilers.
3. Doxygen CHM file
4. Signed programming checklist
All files should be in put in a folder named:
cs170_<your Digipen login id>_4.
Note: All letters are in lower cases.
Then the folder should be put in a zipped file named:
cs170_<your Digipen login id>_4.zip.
Finally, upload the zipped file using the submission link on Moodle. Please see CS170 page for the coding and submission standards.
1. Programming Assignment
This lab will provide additional functionalities to the linked list data type. Your task is to define the following functions:
• erase: 2 functions
• resize
• merge
You will also need to fill in some existing functions that you have written in the previous labs, and some minor support functions. In addition, you should replace pointers with references as function parameters to reduce the complexity of the function calls.
2. Grading Scheme
The grader will evaluate your submitted files, including list.cpp, makefile.gnu, makefile.ms and the Doxygen CHM file.
The entire lab is scored over 100 points. The distribution of points is as follows:
• 20 points for successful build and execution using each of the 2 Makefiles:
o 5 points for build:
– 0 point if the executable cannot be created.
– 3 points if the build succeeds but results in some warnings.
– 5 points if the executable can be created without any warnings.
o 15 points for execution:
– 3 points for each of the 5 hidden test cases.
• 10 points for correct implementation of each of the 4 new functions in list.cpp.
• 5 points for correct implementation of the existing functions and minor support functions.
• 5 points for proper Doxygen CHM file. Do not forget the file header and function header comments. Every file should have a proper file header comment that specifies the purpose of the file (list.cpp in this case). For each function, there should also be a proper function header comment that specifies the purpose/return value of the function, and the role of each parameter/argument of the function.
• 10 points for programming style: Clear variables, appropriate comments and consistent indentation (no mixing between spaces and tabs).
• Note that there should be no memory leak. As a rule of thumb, the number of new and delete calls should match. 50 points will be deducted if there are memory leaks at run time.
• 50 points will be deducted if there is a segmentation fault at run time.
It is also very important to note that:
• Any plagiarism detected results in 0 marks for the entire lab.
• Failure to comply with the submission conventions (Page 1) results in 10 points deducted.
• As some of you still forget: The file header comment has to be the first thing in a submitted source file. Failure to conform to these stipulations will result in all 10 points deducted for programming style.
• Submissions after the deadline will receive 0 mark even if it is accepted by Moodle.
Attachment:- Lab.zip