C program to convert days to years weeks and days

Write a C program to input number of days from user and convert it to years, weeks and days. How to convert days into years, weeks in C programming.

Example:
Input days: 373
Output = 1 year/s, 1 week/s and 1 day/s

Required knowledge

Fundamentals of C, Data types, Talking user input in C

Conversion table

1 year = 365 days (Ignoring leap year)
1 week = 7 days

Program

/**
 * C program to convert days in to years, weeks and days
 */

#include <stdio.h>

int main()
{
    int days, years, weeks;

    // Read total number of days from user
    printf("Enter days: ");
    scanf("%d", &days);

    // Converts days to years, weeks and days
    years = days/365;   //Ignoring leap year
    weeks = (days%365)/7;
    days = days- ((years*365) + (weeks*7));

    printf("YEARS: %d\n", years);
    printf("WEEKS: %d\n", weeks);
    printf("DAYS: %d", days);

    return 0;
} 


Output
X
_
Enter days: 373
YEARS: 1
WEEKS: 1
DAYS: 1

Happy coding ;)


Any doubt or suggestion write here. I will try my best to help. Before posting your code you must escape it to view. To format your source code and use format highlighting, post your source code inside
< code >< pre > -- Your source code -- < /pre >< /code > (Remove spaces from pre and code tags).

10 comments:

  1. while finding the number of weeks, why did you use day%365? could you please explain?

    ReplyDelete
    Replies
    1. Hello Bloom, actually days%365 returns the remaining number of days subtracting total number of days in years found.

      This is also equivalent to weeks = (days - (years * 365)) / 7;

      Lets take an example suppose days = 401

      Years = 401/365 = 1
      Weeks = (401 % 365)/7 = (36)/7 = 5
      Days = 401 - ( (1 * 365) + (5 * 7)) = 401 - (365+35) = 1

      Delete
    2. Thank you!
      I was trying to solve some problems and I can't do it (I'm a beginner by the way).
      I was hoping you could help me out. Will it be a problem?

      Delete
    3. Surely, I will try my best Bloom to help you.

      Delete
    4. Should I post my problems here? Or will you give me an email address to send my problems to?

      Delete
    5. Yes of-course you can post your problems here.

      Delete
    6. Make a simple program that reads four integer numbers named A, B, C, D. Calculate and print the max pair sum from all possible pair.

      In other word find the max value from (A + B), (A + C), (A + D), (B + C), (B + D) and (C + D).

      Delete
    7. Write a computer program that read time, and split the time to hour(s) and minute(s).



      [Don't forget about singular and plural form of hour and minute]

      Example

      10:30

      10 Hours 30 Minutes

      01:01

      1 Hour 1 Minute

      01:30

      1 Hour 30 Minutes

      Delete
    8. Hey, Bloom for the first program this link will help you C program to find largest and second largest number.

      In real maximum pair sum is the pair of LARGEST and SECOND-LARGEST number in a given set of numbers.

      Delete