0% found this document useful (0 votes)
18 views8 pages

Package 1

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views8 pages

Package 1

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

PACKAGE 1

C PROGRAMMING

The program prompts the user to enter a year. Then it calculates the
calendar for the specified year, typically using a combination of loops
and date calculations. It prints the calendar, displaying the days,
months, and dates for the entire year. The program uses functions
and pointers handle the calendar calculations. Finally, it ends by
displaying the calendar for the inputted year.

-Dhivyadharshini R
23PT07

#include <stdio.h>
// Function that returns the index
int dayNumber(int day, int month, int year)
{

static int t[] = { 0, 3, 2, 5, 0, 3,


5, 1, 4, 6, 2, 4 };
year -= month < 3;
return (year + year / 4
- year / 100
+ year / 400
+ t[month - 1] + day)
% 7;
}
// Function that returns the name of the
// month for the given month Number (year + year / 4
char* getMonthName(int monthNumber)
{
char* month;
switch (monthNumber)
{
case 0:
month = "January";
break;
case 1:
month = "February";
break;
case 2:
month = "March";
break;
case 3:
month = "April";
break;
case 4:
month = "May";
break;
case 5:
month = "June";
break;
case 6:
month = "July";
break;
case 7:
month = "August";
break;
case 8:
month = "September";
break;
case 9:
month = "October";
break;
case 10:
month = "November";
break;
case 11:
month = "December";
break;
}
return month;
}

// Function to return the number of days


// in a month
int numberOfDays(int monthNumber, int year)
{
// January
if (monthNumber == 0)
return (31);

// February
if (monthNumber == 1)
{
// If the year is leap then Feb
// has 29 days
if (year % 400 == 0
|| (year % 4 == 0
&& year % 100 != 0))
return (29);
else
return (28);
}

// March
if (monthNumber == 2)
return (31);

// April
if (monthNumber == 3)
return (30);

// May
if (monthNumber == 4)
return (31);

// June
if (monthNumber == 5)
return (30);

// July
if (monthNumber == 6)
return (31);

// August
if (monthNumber == 7)
return (31);

// September
if (monthNumber == 8)
return (30);

// October
if (monthNumber == 9)
return (31);

// November
if (monthNumber == 10)
return (30);

// December
if (monthNumber == 11)
return (31);
}
// Function to print the calendar of
// the given year
void printCalendar(int year)
{
printf("Calendar - %d\n\n", year);
int days;

// Index of the day from 0 to 6


int current = dayNumber(1, 1, year);

// i for Iterate through months


// j for Iterate through days
// of the month - i
for (int i = 0; i < 12; i++)
{
days = numberOfDays(i, year);
// Print the current month name
printf("\n ------------%s-------------\n",
getMonthName(i));
// Print the columns
printf(" Sun Mon Tue Wed Thu Fri Sat\n");
// Print appropriate spaces
int k;
for ( k = 0; k < current; k++)
printf(" ");

for (int j = 1; j <= days; j++)


{
printf("%5d", j);

if (++k > 6) {
k = 0;
printf("\n");
}
}

if (k)
printf("\n");

current = k;
}

return;
}
// Driver Code
int main()
{

int year;
printf("Enter the year");
scanf("%d",&year);
// Function Call
printCalendar(year);
return 0;
}

You might also like