int count=-1,nofdays=-1,nofmonths=-1,nofyears=-1,lastmonthmaxday;
int main()
{
printf("This program will ask for two date values in the formate of DD-MM-YYYY and produces the number of days between the two dates also if those dates are your birth date and some later date then it will display your age till the later date.This will not validate for any wrong entry for days(like more than 30-31) and months(like more than 12).However if you enter,you will get some unexpected result. If you need, with a few changes and little affords you can achieve your requirements.\n");
int day1,day2,month1,month2,year1,year2,day11,month11,year11,year,month,day,maxdays,flag=0;
static int z=1;
printf("Enter the privous date (DD) \n");
scanf("%d",&day1);
printf("Enter the privous month (MM) \n");
scanf("%d",&month1);
printf("Enter the privous year,for not being ambiguous input plz enter in YYYY format,else it will be a y2k bug\n");
scanf("%d",&year1);
printf("Enter the later date (DD)\n");
scanf("%d",&day2);
printf("Enter the later month (DD)\n");
scanf("%d",&month2);
printf("Enter the later year,for not being ambiguous input plz enter in YYYY format,else it will be a y2k bug\n");
scanf("%d",&year2);
day11=day1;month11=month1;year11=year1;lastmonthmaxday=checkmonth(month2-1,year2);
for(year=year11;year<=year2;year++) { for(month=month11;month<=12;month++) { if(year==year2 && month==month2) { flag=0;lastmonthmaxday=day2;countday(day11,day2,flag); break; } else { maxdays=checkmonth(month,year); countday(day11,maxdays,flag);flag=1;day11=1; } } month11=1; nofyears++; } if(month2<=month1 && nofyears !=0) { --nofyears; } if((day2<=day1 && nofmonths !=0) || nofmonths==12 ) { if(nofmonths==12){ nofyears++; nofmonths=0; } else --nofmonths; } maxdays=checkmonth(month2-1,year2); if(nofdays>=maxdays)
nofdays=nofdays-maxdays;
printf("The total number of days are : %d \nYou are %d year %d months %d days older\n",count,nofyears,nofmonths,nofdays);
return 0;
}
//This function will start from the previous date and keep on counting each day as long as it come to the later date.
void countday(int ddin, int ddfnl,int flg)
{
int i,day1,day2=35;
static int x=1,y=1;
for(i=ddin;i<=ddfnl;i++) { count++; if(flg==0 && i<=lastmonthmaxday) { if(lastmonthmaxday>ddfnl && x==1)
{
nofdays=nofdays+(lastmonthmaxday-ddfnl);
x++;
}
nofdays++;
if(y==1)
day1=ddin;
else if(y==2)
day2=ddfnl;
y++;
if(day1>day2)
{
break;
}
}
}
nofmonths++;
if(nofmonths==13)
nofmonths=1;
}
int checkmonth(int month,int year)
{
if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12 || month==0) //These are the months having 31 days
return 31;
else if(month==4 || month==6 || month==9 || month==11) //These are the months having 30 days
return 30;
else if(month==2) //This is for february only
{
if((year%400==0) || (year%4==0 && year%100!=0)) //This is for checking a leap year
return 29;
else
return 28;
}
}
Wednesday, May 12, 2010
How to find number of days and difference between to dates using C
Sunday, May 9, 2010
How Peter Answers Virtual Tarot works?
Actually Peter (1957-1979) was a software Engineer fully devoted and addicted of computers and programming. One day he designed a software application which can directly connect to his brain and his soul. The software can tell each and every thing what was there in his mind. What ever he thought, the software could tell. He finally decided to donate this software to
Was the story good? So can I tell you the truth now? Ok!! There is a trick. In the petition box what ever you write, will come as an output. Amazed again!! You have to follow these simple steps. Call a friend and tell Mr. Peter’s story first. Then tell him to ask a question to Mr. Peter politely. The answer to that question must be known to you. Step 1: Click in the Petition box (now the cursor is blinking in the box). Step 2: Press dot (.) as the first key, as soon as you press (.) at the same time ‘P’ will appear in the box automatically(in Petition Box). Step 3: Now write the answer to the question for your friend. As you write the answer, the box will automatically show “Peter, please answer the following question” irrespective of what you type (What you type here will come as an output so write correctly). If the answer is small you can press space bar to complete the sentence (“Peter, please answer:”). Step 4: Press enter. The cursor will now be blinking in the Question box. Step 5: Write your friends question and press enter. If this is you first time then a message box will come to accept the terms. Press ok and fool your friends. Ok. Enjoy.