Program 236:
//Coming Soon
Output:
#include<stdio.h> #include<string.h> #include<stdlib.h> int CheckLeapyear(int year); int CheckDateFormat(int day,int month,int year,int leap,int *assignMonth); main() { int i=0,j,year,day,mnth,k=0,checkYear,assignMonth[12],noOfDays=0,checkFormat; char str[10],split,substr[3][4]; printf("Enter Date in dd-mm-yyyy or dd/mm/yyyy format like 01-02-1018\n"); gets(str); if(str[2]=='-') { split='-'; } else if(str[2]=='/') { split='/'; } else { printf("Enter Date Format in dd/mm/yyyy or dd-mm-yyyy if 1 is there enter 01\n"); exit(0); } //Splitting entered date into day,month,year while(str[k]!='\0') { j=0; while(str[k]!=split&&str[k]!='\0') { substr[i][j]=str[k]; k++; j++; } substr[i][j]='\0'; i++; if(str[k]!='\0') { k++; } } day=atoi(substr[0]); mnth=atoi(substr[1]); year=atoi(substr[2]); checkYear=CheckLeapyear(year); //Assigning months for(i=1;i<=12;i++) { if(i<8) { if(i%2!=0) { assignMonth[i]=31; } if(i%2==0&&i!=2) { assignMonth[i]=30; } } if(i>8) { if(i%2!=0) { assignMonth[i]=30; } if(i%2==0&&i!=2) { assignMonth[i]=31; } } if(i==2) { if(checkYear==1) { assignMonth[i]=29; } else { assignMonth[i]=28; } } if(i==8) { assignMonth[i]=31; } } checkFormat=CheckDateFormat(day,mnth,year,checkYear,assignMonth); if(checkFormat==1) { for(i=1;i<=12;i++) { if(i<mnth) { noOfDays+=assignMonth[i]; } if(i==mnth) { noOfDays+=day; } if(i>mnth) { break; } } } else { printf("Enter Valid Date\n"); exit(0); } printf("Number of days since 01-01-%d till %d-%d-%d is %d\n",year,day,mnth,year,noOfDays); } int CheckLeapyear(int year) { if(year%400==0) { return 1; } else if(year%100==0) { return 0; } else if(year%4==0) { return 1; } else { return 0; } } int CheckDateFormat(int day,int month,int year,int checkyear,int *assignMonth) { int i; //Checking day if(day<=assignMonth[month]&&day>=1&&month<=12&&month>=1) { return 1; } else { return 0; } }Explanation:
//Coming Soon
Output:
No comments:
Post a Comment