School of Engineering and Applied Science
Department of Computer Science
CSci 53 -- Introduction to Software Development
http://www.seas.gwu.edu/~csci53/fall05
Prof. Michael B. Feldman
mfeldman@gwu.edu

Project 5
Due Date: beginning of lecture, Thursday, Oct. 27, 2005

The purpose of this assignment is to become familiar with conditional control structures.

Background

A calendar date consists of a month, a day of the month, and a year. Many programs must be able to handle dates, so it is useful to understand how such things are represented and manipulated.
 

In this project, we will represent a date as an ordered triple of integer values representing the month, day, and year, in that order. To be a valid date, this triple must have four properties:
 

  1. the month must be in the range 1-12, where January = 1 and December = 12;
  2. the day must be in the range 1-31;
  3. the year must be no earlier than 1753, the first full year of our current (Gregorian) calendar;
  4. the month/day/year combination must form a valid date; that is,
A year is a leap year if it is divisible by 4 but not by 100.  Exceptionally, a year that's divisible by 400 is a leap year. (ASIDE: one aspect of the "Y2K problem" of the year 2000 is that many programs failed to recognize this exception, and treated 2000 as a non-leap year!)

Project

Develop a program that will NOTE: Use the DateOps class, as introduced in lab, to determine the day of the week.

What to submit:

You must follow the process given in Systematic Software Development . in class.

Your grade will be calculated on a 20-point basis, as follows:

Extra credit:

We'll continue the 2-point bonus for getting an early start. If you e-mail your "framework" listing (.txt) file to Prof. Feldman, and the time stamp on the e-mail is no later than 5 PM, Monday, Oct. 24, 2005, you will be awarded 2 extra project points. The "framework" must be a listing (.txt) file, with no compilation errors or warnings, that contains the declared variables, and a set of comments inserted for the main algorithm steps.

MBF 10/16/05