0% found this document useful (0 votes)
111 views15 pages

Calendar Application Using C

Uploaded by

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

Calendar Application Using C

Uploaded by

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

Calendar

Application using
C
Project Abstract

 The calendar application presented hear is a very simple console


application developed using C programming language.
 It is built without using graphic properties ; instead, it utilizes
many windows properties to give the application a colorful look
and feel.
 It is compiled in Code Blocks using GCC compiler.
Features
The Key Features of this Calendar application are:

 Windows properties have been using to make the overall


application Simple.
 File handing has been used in this application.
 It provides a very simple interface and displays days , dates ,
months , and years based on the input given by the user.
Working

 At first , the user needs to provide month and year as input .


Example: 2023 . This displays the calendar for year 2023.
 The application display days corresponding to a given date.
 It also display days and dates corresponding to a particular
month and year.
C-Code

 #include <stdio.h>

 // Function that returns the index of the


 // day for date DD/MM/YYYY
 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
 // January - 0, February - 1 and so on
 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 = 2018;

 // Function Call
 printCalendar(year);
 return 0;
 }

You might also like