Ask questions and get helpful answers.

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

2 answers

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

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

Answer this Question

Related Questions

Still need help?

You can ask a new question or browse existing questions.