Program 291: Program to prepare Agenda(Events on a particular day) and Store in file using C
Both Agenda.txt and C Programs should be in same file
Output:
#include <stdio.h> #include<stdlib.h> #include <string.h> char* months[] = {"Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Jan","Feb"}; char* days[]= { "sunday","monday", "tuesday", "wednesday", "thursday", "friday", "saturday" }; int Day(int k,int m,int year); main() { int k,m,year,i,flag=0,totdates,date,finalday,toContinueAdding,count=0,addViewAgenda; char str[3],day[100],event[200],dateInString[2],yearInString[5],storeEvent[400]; printf("Enter\n1-Add Event in Agenda\n2-View Stored Agendas\n3-Exit\n"); scanf("%d",&addViewAgenda); do{ if(addViewAgenda==1) { printf("enter Date\n"); scanf("%d",&date); printf("Enter first 3 letters of month of the year ex:-for January enter Jan\n"); scanf("%s",str); for(i=0; i<12; i++) { if(!strcmp(str,months[i])) { m=i+1; flag=1; break; } } if(flag==0) { printf("Invalid Month\n"); exit(0); } if(m==1 || m==3 || m==5 || m==6 || m==8 || m==10 || m==11) { totdates=31; } if(m==2 || m==4 || m==7 || m==9) { totdates=30; } if(m==12) { if(year%400==0||year%4==0) { totdates=29; } else { totdates=28; } } if(date>totdates){ printf("You entered date which is not there in month\n"); break; } printf("Enter year\n"); scanf("%d",&year); finalday=Day(date,m,year); printf("You have Entered %d-%s-%d ,%s\n",date,months[m-1],year,days[finalday]); printf("Do you want to continue to add Agenda on this Particular Day?\nIf Yes Press 1 else any other number\n"); scanf("%d",&toContinueAdding); if(toContinueAdding==1) { count++; FILE *file; char c; file=fopen("Agenda.txt","a"); if(file==NULL) { printf("File Not Found\n"); exit(0); } else { sprintf(dateInString,"%d",date); sprintf(yearInString,"%d",year); strcpy(storeEvent,"Event Date: "); strcat(storeEvent,days[finalday]); strcat(storeEvent,", "); strcat(storeEvent,dateInString); strcat(storeEvent,"-"); strcat(storeEvent,months[m-1]); strcat(storeEvent,"-"); strcat(storeEvent,yearInString); strcat(storeEvent,"\n"); strcat(storeEvent,"Event: "); printf("Enter An Event to Add\n"); fflush(stdin); gets(event); strcat(storeEvent,event); strcat(storeEvent,"\n"); fputs(storeEvent,file); fputs("\n",file); } fclose(file); } } else { FILE *file1; char c; file1=fopen("Agenda.txt","r"); while(1) { if(file1==NULL) { printf("File Not Found\n"); exit(0); } else { c=fgetc(file1); if(c==EOF) break; printf("%c",c); } } fclose(file1); } printf("Enter\n1-Add Event in Agenda\n2-View Stored Agendas\n3-Exit\n"); scanf("%d",&addViewAgenda); }while(addViewAgenda==1 || addViewAgenda==2); printf("Thank You\n"); } int Day(int k,int m,int year) { int D,C,i,f,finalday,flag=0; char day[100]; if(k<=0||k>31) { printf("Invalid Date\n"); exit(0); } if(m==11||m==12) { year=year-1; } D=year%100; C=year/100; f = (k+(((13*m)-1)/5)+D+(D/4)+(C/4))-(2*C); if(f>=0) { finalday=f%7; } else { finalday=((f%7)+7)%7; } return(finalday); }Explanation:
Both Agenda.txt and C Programs should be in same file
Output: