CSCI 261 - Programming Concepts (C++)

Fall 2017 - Assignment 8 - Share Your Item

Quick Links: Canvas | CS @ Mines | Cloud9 | Piazza | zyBooks

|   Home |  Contact |  Syllabus |  Assignments |  Schedule |  Resources   |
This assignment is due by Tuesday, November 21, 2017 11:59 PM.

The Purpose



The purpose of this homework is to give you practice using objects of classes written by others. You can learn how to work with objects from others by looking at the member functions provided in the class.


The Goal



There are two parts to this assignment. First, you should refactor your class to only have private data members and a public interface using getters/setters as necessary. If your class uses helper functions, then make sure they are appropriately declared as private so a user cannot inadvertantly call one of them.

Second, you must acquire three other magic items from your classmates to use (see the next section). Include their .h and .cpp files into your project. Then in your main.cpp create objects of these new classes. You can then present the user with a menu as to which magic item they want to use or use all four in sequence.


Code Sharing



Before sharing your "magic item" class with another, you should include both your name and CSCI 261 section number in both files associated with your "magic item" class. In other words, your "magic item" class is your work; make sure you take credit for it!

In your main.cpp file, also include all names of people you shared your "magic item" class with.

If you are interested in having others use your awesome "magic item" class, feel free to post an advertisement on Piazza (with your email address so students can contact you for a copy of your code). However, you must follow these rules:
  • Do NOT post your "magic item" class source code on Piazza.
  • Do NOT post your "magic item" advertisement before Wednesday, November 15. Any posts made prior to this date will be deleted.
  • Post your advertisement as a NOTE (not a question).

There will be a prize for the author of the "magic item" class that is used the most!


Functional Requirements



To receive full credit, the following requirements must be met:
  • Your "magic item" class should have at least two data members and, in addition to constructors and getter/setter functions, at least three other member functions. One of these other functions should be an introduction() function that tells the user how to use the "magic item" to win a prize.
  • Both files associated with your "magic item" class should include your name and CSCI 261 section number.
  • Your main.cpp must use at least three "magic items" written by others, as well as let the user know whether he/she won the prize.


Grading Rubric


Your submission will be graded according to the following rubric.

Points Requirement Description
2 All code submitted properly
4 Labs completed
10 Original class created with at least two data members and at least three member functions that are not a constructor or getter/setter
6 Three other original classes use appropriately in your main.cpp.
3 Functional requirements met above
2 (1) Comments used (2) Coding style followed (3) Appropriate variable names, constants, and data types used (4) Instructions followed
27 Total Points


Submission


Always, always, ALWAYS update the header comments at the top of your main.cpp file. And if you ever get stuck, remember that there is LOTS of help available.

From your Cloud9 workspace, right click on the A8 folder in your workspace tree. Select "Download" from the pop-up menu. This will download a file called A8.zip to your computer. It contains all the files of your A8 folder (therefore Lab8A, Lab8B, Assignment8). Now in Canvas, go to Assignments > A8. Upload your A8.zip file you just downloaded. And voila! Easy peasy.



This assignment is due by Tuesday, November 21, 2017 11:59 PM.
Last Updated: 11/05/17 20:33


Valid HTML 4.01 Strict Valid CSS! Level Triple-A conformance, W3C WAI Web Content Accessibility Guidelines 2.0