# 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.

1. 👍
2. 👎
3. 👁
4. ℹ️
5. 🚩

1. 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

1. 👍
2. 👎
3. ℹ️
4. 🚩
2. 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;
count=0;
count=31;
count=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.

1. 👍
2. 👎
3. ℹ️
4. 🚩