Sunday, 4 July 2010

Write a function to display day of the month

#include<stdio.h>
#include<conio.h>
#include<math.h>
int fm(int date, int m, int y) //taking date, month and year
{
 int fmonth, leap;

 //leap function 1 for leap & 0 for non-leap
 if ((y % 100 == 0) && (y % 400 != 0))
 leap = 0;
 else if (y % 4 == 0)
 leap = 1;
 else
 leap = 0;

 fmonth = 3 + (2 - leap) * ((m + 2) / (2 * m))
 + (5 * m + m / 9) / 2;

 //bring it in range of 0 to 6
 fmonth = fmonth % 7;

 return fmonth;
}
//----------------------------------------------
int day_of_week(int date, int month, int year) {

 int dayOfWeek;
 int YY = year % 100;
 int century = year / 100;

 printf("\nDate: %d/%d/%d \n", date, month, year);

 dayOfWeek = 1.25 * YY + fm(date, month, year) + date - 2 * (century % 4);

 //remainder on division by 7
 dayOfWeek = dayOfWeek % 7;

 switch (dayOfWeek) {
 case 0:
 printf("weekday = Saturday");
 break;
 case 1:
 printf("weekday = Sunday");
 break;
 case 2:
 printf("weekday = Monday");
 break;
 case 3:
 printf("weekday = Tuesday");
 break;
 case 4:
 printf("weekday = Wednesday");
 break;
 case 5:
 printf("weekday = Thursday");
 break;
 case 6:
 printf("weekday = Friday");
 break;
 default:
 printf("Incorrect data");
 }
 return 0;
}
//------------------------------------------
void main() {
 int date, m, y;
 clrscr();

 printf("Enter the year\n ");
 scanf("%d", &y);

 printf("Enter the month\n ");
 scanf("%d", &m);

 printf("Enter the date\n ");
 scanf("%d", &date);

 day_of_week(date, m, y);

 getch();
}
/**********
Output :
Enter the year 2015
Enter the month 12
Enter the date 16
Date: 16/12/2015
weekday = Wednesday
************/
You may like the following posts:

Functions
Switch statement

No comments:

Post a Comment