Write a program that determines the day number (1 to 366) in a year for a date that is provided as input data. As an example, January 1, 2011 is day 1. December 31, 2010 is a day 365. December 31, 2012 is day 366, since 2012 is a leap year. A year is a leap year if it is divisible by four, except that any year divisible by 100 is a leap year only if it is divisible 400. Your program should accept the month, day and year as integers.

2 answers

You'll need to first determine if the year is a leap year by the rules given above:

int isLeap(int year){
int leap=0;
if(year divisible by 4)leap=1;
if(year divisible by 100)leap=0;
if(year divisible by 400)leap=1;
return leap;
}

Then make an array of cumulative number of days of the previous month, example:
int cndpm(int n){
// n=month, 1=january, ...12 = december
int count[12];
count[0]=0;
count[1]=31;
count[2]=59; // 60 for leap year
...
}
So for March, cndpm(2) will return the total number of days before March 1st.

I'll let you think about the rest, and post if you need further help.
can you give me the whole source code? I will all the more learn from it and even practice from it all the more. Thanks