C program to convert days to years weeks and days

Previous Program Next Program

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

Example

Input

Enter days: 373

Output

373 days = 1 year/s, 1 week/s and 1 day/s

Required knowledge

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

Days conversion formula

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

Using this we can define our new formula to compute years and weeks.
year = days / 365
week = (days - (year * 365)) / 7

Logic to convert days to years weeks and days

Step by step descriptive logic to convert days to years, weeks and remaining days is given below -

  1. Read total days from user in some variable say days.
  2. Compute total years using the above conversion table. Which is years = days / 365.
  3. Compute total weeks using the above conversion table. Which is weeks = (days - (year * 365)) / 7.
  4. Compute remaining days using days = days - ((years*365) + (weeks*7)).

Program to convert days to years, weeks and days

/**
 * 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);

    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
Enter days: 373
YEARS: 1
WEEKS: 1
DAYS: 1

Happy coding ;)

Recommended posts

Previous Program Next Program
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
< pre>< code >----Your Source Code---- < / code > < / pre > (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