CSCI 261 - Programming Concepts (C++)

Fall 2016 - Assignment 11 - Share Your Magic Item

Quick Links: Blackboard | EECS | Mines | Piazza | zyBooks

|   Home |  Contact |  Syllabus |  Assignments |  Schedule |  Resources   |
This assignment is due by November 18, 2016 08:00am.


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). Do NOT post your "magic item" class on Piazza. Also, please 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 final submission will be graded according to the following rubric.

PercentageRequirement Description
15%Labs completed
65%Your original class has private data members and a public interface. Three other objects created and properly used in main.cpp
20%(1) Comments used (2) Coding style followed (3) Appropriate variable names, constants, and data types used (4) Instructions followed (5) Assignment compiles


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.

In summary, for homework due on Friday, November 18 follow these specific steps:
  • create a directory called week11.
  • within week11, create three subdirectories: Lab11A, Lab11B and A11.
  • within your new week11/Lab11A directory, copy in your main.cpp, Date.h, Date.cpp files from your Lab11A solution.
  • within your new week11/Lab11B directory, copy in your main.cpp, Date.h, Date.cpp, MyDate.h, MyDate.cpp files from your Lab11B solution.
  • within your new week11/A11 directory, copy in your main.cpp file and any other files you created/used (*.h, *.cpp) from your A11 solution.
  • compress the week11 directory (see Step 3 here for details).
  • submit the week11.zip file to Blackboard (see Steps 5-10 here for details).
  • after you submit, download the file and double check it contains all that you think it contains!

This assignment is due by November 18, 2016 08:00am.
Last Updated: 01/01/70 00:00


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