Closed

# Calendar

This project was awarded to grayfacedbu for \$12 USD.

N/A
38
###### Project Description

Write a program to display a calendar for any month of any year of the twentieth century and on. Your prompts do not have to be identical to these: Enter month number: 13 Month must be between 1 and 12, please re-enter: 0 Month must be between 1 and 12, please re-enter: 2 Enter year: 98 Year must be 1900 or later, please re-enter: 2002 February 2002 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Another? (y or n) To determine the day of the week on which the month starts: know that January 1, 1900 was a Monday, and then find the number of days difference between that day and the first day of the month for which you are making the calendar. This difference plus one mod 7 (i.e. (totaldays+1) % 7) tells you the day of the week (0 meaning Sunday, 1 meaning Monday etc.). Finding the number of days from 1/1/1900 to the first day of any other month can be further broken down into the following subproblems: 1. Number of days in whole years (i.e., (Year - 1900) * 365); 2. One day for each year in the above range which is a leap year; 3. The number of days in each month from January thru the previous month of the year you're making a month calendar for. Remember the rule for leap years: A year is a leap year if it is divisible by 4, unless it is divisible by 100 (in which case it's not a leap year) UNLESS it's also divisible by 400 (in which case it's a leap year). year%4==0 && year%100!=0 || year%400==0 (1900 was not a leap year, but 2000 is, 2100 will not be). See the function in the notes. Use the method of top-down design, breaking the problem into subproblems and each subproblem into further subproblems, until it is easy to code each subproblem as a C function. At this point, your problem decomposition should show the basic structure of the program, as well as making the code modular and easy to read and debug. To give you practice in writing functions, your program MUST have several functions, including one that inputs from the user the month and year. main should be not much more than a series of function calls. Global variables are NOT allowed. Displaying the dates hint: have a loop that prints out the blank days of the first week, then have a loop that loops over the days 1 to 30 (or 31, 28, or 29) The end of the week is when the date plus the number of blank days is a multiple of 7.

## Deliverables

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.

3) Exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

4)must be in visual C++ code

## Platform

windows xp visual C++

## Hire Freelancers who also bid on this project

• Forbes
• The New York Times
• Time
• Wall Street Journal
• Times Online