This simple calendar app allows you to add and view events for specific dates. It is a text-based application that makes use of the C programming language for building and managing events.
Objective
The objective of this project is to create a simple command-line-based calendar application using the C programming language. This application will enable users to add and view events for specific dates, providing basic calendar functionalities. The main goal is to demonstrate how to manage date-related data and interact with the user through a command-line interface.
Program Code
#include
#include
#include
#define MAX_EVENTS 100
#define DATE_LENGTH 11
#define EVENT_LENGTH 100
// Struct to store event information
typedef struct {
char date[DATE_LENGTH];
char event[EVENT_LENGTH];
} Event;
// Array to store events
Event calendar[MAX_EVENTS];
int event_count = 0;
// Function to add an event to the calendar
void add_event() {
if (event_count >= MAX_EVENTS) {
printf("Event list is full.\n");
return;
}
char date[DATE_LENGTH];
char event[EVENT_LENGTH];
printf("Enter the date for the event (YYYY-MM-DD): ");
scanf("%s", date);
getchar(); // to consume the newline character left by scanf
printf("Enter the event description: ");
fgets(event, EVENT_LENGTH, stdin);
event[strcspn(event, "\n")] = '\0'; // Remove newline character from event
// Store the event in the calendar
strcpy(calendar[event_count].date, date);
strcpy(calendar[event_count].event, event);
event_count++;
printf("Event added successfully!\n\n");
}
// Function to view events for a specific date
void view_events() {
char date[DATE_LENGTH];
int found = 0;
printf("Enter the date to view events (YYYY-MM-DD): ");
scanf("%s", date);
printf("\nEvents for %s:\n", date);
for (int i = 0; i < event_count; i++) {
if (strcmp(calendar[i].date, date) == 0) {
printf("- %s\n", calendar[i].event);
found = 1;
}
}
if (!found) {
printf("No events found for this date.\n");
}
printf("\n");
}
// Function to display the main menu
void display_menu() {
printf("Calendar Application Menu:\n");
printf("1. Add Event\n");
printf("2. View Events\n");
printf("3. Exit\n");
printf("Enter your choice: ");
}
int main() {
int choice;
// Main program loop
while (1) {
display_menu();
scanf("%d", &choice);
switch (choice) {
case 1:
add_event();
break;
case 2:
view_events();
break;
case 3:
printf("Exiting program...\n");
exit(0);
default:
printf("Invalid choice, please try again.\n\n");
}
}
return 0;
}
Explanation of the Program Structure
This program is structured into a few key sections:
- Event Structure: The
Eventstruct stores the date and description of an event. - Event Array: The
calendararray holds multiple events, with a maximum ofMAX_EVENTS(100 events). - Functions: The program contains functions to add events, view events, and display a simple menu.
- Main Program Loop: The program runs a loop that continuously displays a menu and allows the user to perform actions until the program is exited.
The key functionalities include:
- add_event: This function allows the user to input a date and an event description, which is then stored in the calendar array.
- view_events: This function allows the user to input a date and view all events scheduled for that specific day.
- display_menu: This function displays the options for the user and captures their input to execute the corresponding action.
How to Run the Program
Follow these steps to run the program:
- Install a C compiler (e.g., GCC).
- Create a new C file (e.g.,
calendar.c) and copy the program code into the file. - Open a terminal or command prompt and navigate to the directory containing the
calendar.cfile. - Compile the program using the command:
gcc calendar.c -o calendar - Run the compiled program using:
./calendar - Follow the menu prompts to add and view events.

