CSCI 261 - Programming Concepts - Spring 2021

Lab 8C - Calendar Classes

This lab is due by Tuesday, May 04, 2021, 11:59 PM.
As with all labs you may, and are encouraged, to pair program a solution to this lab. If you choose to pair program a solution, be sure that you individually understand how to generate the correct solution.


Concepts


Focus on defining a Date and an Event class from scratch.


Suggestion: Use NotePad or WordPad


Consider using NotePad or WordPad on your computer to write your code for this lab. Once you feel good about what you've written, then copy the code into your project. Doing this will help you see where you might make mistakes on the exam!

You should write a main.cpp that tests each feature of your class works as expected. You will need to submit your class declaration files, your class definition files, and your main.cpp file for this lab.


Date Class


We know you, as a Mines student, have a busy social life. Wouldn't it be great to have a program that helped you keep track of all your important dates (as in month, day, and year)? Write a Date class to represent this "thing" to the computer. What properties do you need to represent a date? Make these properties private to your class. (Again, you should know why private makes sense; ask it you don't!) In all functions that modify data members, you should always ensure the values being set make sense. (You do not need to worry about leap years.) Also, use a private helper function wherever one makes sense. Functions you should include in your class:

Extra credit points possible if (1) your default constructor outputs a "shout out" that illustrates you understand the significance of 12/30/1950 and (2) your parameterized constructor outputs a "shout out" that illustrates you understand the significance of 8/1/1876.


Event Class


Now that we have a way to represent a calendar date, we need a way to make entries into a calendar. Create a new class called Event that contains a data member of type Date created above. In addition, add data members to track the event title and location. Functions you should include in your class:


Lab Submission



You will submit your solution to this lab with the rest of Set8. Detailed instructions for doing this are posted in Assignment 8.


This lab is due by Tuesday, May 04, 2021, 11:59 PM.
As with all labs you may, and are encouraged, to pair program a solution to this lab. If you choose to pair program a solution, be sure that you individually understand how to generate the correct solution.