123 Eng

Engineering the engineers™


Latest Jobs   Forum Map

 


Home
Source Codes
Engineering Colleges

Training  Reports
Seminar Reports
Placement Papers

Forums

   Computer Science / IT
   Electronics
   Electrical
   Mechanical
   Chemical
   Civil

   CAT / MBA

   GMAT / Foreign MBA
Latest Jobs

Engineering Jobs / Technical Jobs
Management Jobs

Sitemap
Terms of use

Displaying  Source Code(s)  
 

 
Calender (for all years)

--------------------------------------------------------------------------------

Description : Calender (for all years)

/*
ษอออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ
อออป
บ CALENDAR
ศอออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ
อออผ*/

# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <process.h>

static char *month[] = {
"",
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec",
};
static char *weekday[]={
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
};

main()
{
int mm, yy;
int key;
clrscr();
printf( <BR>


ษอออออออออออออออออออออออออออออออออออออออออออออออออป");
printf( "
บ บ");
printf( "
บ Calender บ");
printf( "
บ บ");
printf(<BR>
ศอออออออออออออออออออออออออออออออออออออออออออออออออผ<BR>);
printf("

****Press any key****");
getch();
clrscr();
printf("

ษอออออออออออออออออออออออออออออออออออออออออออออออออป");
printf("
บCalender from 01-01-01 to infinity.... บ");
printf("
บEnter In this format: MM YYYY บ");
printf("
บWriten in C language.. บ");
printf("
บDesign by: K.E. Joseph บ");
printf("
ศอออออออออออออออออออออออออออออออออออออออออออออออออผ<BR>);
l1:
printf("
Please Enter month & year :");
scanf("%d %d", &mm, &yy);
if(mm < 1 || yy<1)
{
printf("
Enter Correct data.. ");
goto l1;
}
while(1)
{
clrscr();
display_calendar(mm, yy);
puts("For navigation, use the arrow keys.");
puts("To enter another date, press the Insert key.");
puts("For RESET press INSERT key");
puts("Press ESC to exit.");
printf("
ษอออออออออออออออออออออออออออออออออออออออออออออออออป");
printf("
บ Design by :K.Ebenezer Joseph บ");
printf("
ศอออออออออออออออออออออออออออออออออออออออออออออออออผ<BR>);
key = getkey();
switch(key)
{
case 72://up arrow key
yy++;
break;
case 80://down arrow key
yy--;
break;
case 75://left arrow key
if(mm==1)
{
yy--;
mm=12;
}
else
mm--;
break;
case 77://right arrow key
mm++;
if(mm>12)
{
yy++;
mm%=12;
}
if(mm==0)
mm=12;
break;
case 1://escape key
exit(0);
case 82://Insert key
return main();
}
}
}


display_calendar(int mm, int yy)
{
char i, days;
char first_day;
char lines=1;

first_day=find_day(1, mm, yy);
printf("
ษอออออออออออออออออออออออออออออออออออออออออออออออออป");
printf("
บ %s-%d บ", month[mm],yy);
printf("
ศอออออออออออออออออออออออออออออออออออออออออออออออออผ<BR>);
for(i=0; i<7;i++)
printf("%s ", weekday[i]);
puts("");
for(i=0; i<first_day;i++)
printf(" ");

//Find total no. of days in the month
if (mm!=2)
switch(mm)
{
case 4:
case 6:
case 9:
case 11:
days=30;
break;
default:
days=31;
}
else
isleapyear(yy)?(days=29):(days=28);

for(i=1;i<=days;i++)
{
printf("%d ", i);
if((i+first_day)%7==0)
{
puts("");
lines++;
}
}
puts("<BR>);
switch(lines)
{
case 4:
puts("");
case 5:
puts("");
}
}

find_day(int dd, int mm, int yy)
{
int odddays, leapyear;

leapyear=isleapyear(yy);

odddays=odddayyear(yy)+odddaymonth(mm,leapyear)+odddayday(dd);
odddays %= 7;
return odddays;
}


/*Every 4th year is a leap year, however centuries are not leap years
except those divisible by 400
for example:
1990 is NOT a leap year
2000 is a leap year
2004 is a leap year
*/
isleapyear(int yy)
{
if(yy%4==0 && (yy%100!=0 || yy%400==0))
return 1;
else
return 0;
}



//Calculates odd days upto first day of year

odddayyear(int yy)
{
int odddays=0;
yy-=1;
if(yy>=400)
yy%=400;
if(yy>=100)
{
odddays=yy/100;
odddays *= 5;
yy%=100;
}

odddays += yy;
odddays += yy/4;

return odddays;
}



odddaymonth(int mm, char leapyear)
{
switch(mm)
{
case 1:
return 0;

case 2:
return 3;

case 3:
case 11:
return leapyear?4:3;

case 4:
case 7:
return leapyear?0:6;

case 5:
return leapyear?2:1;

case 6:
return leapyear?5:4;

case 8:
return leapyear?3:2;

case 9:
case 12:
return leapyear?6:5;

case 10:
return leapyear?1:0;
}
}

odddayday(int dd)
{
return dd%7;
}


//Returns scan code of the key that has been hit
#include "dos.h"
getkey()
{
union REGS i, o;

while (!kbhit())
;
i.h.ah=0;
int86(22, &i, &o);
return (o.h.ah);
}


/*******************H I N T S *********************
Every 4th year is a leap year,
however centuries are not leap years except those divisible by 400
for example:
1990 is NOT a leap year
2000 is a leap year
2004 is a leap year

for example:
-------------

1 ordinary year = 365 days = (52 weeks + 1 day) = 1 odd day
that's why if this year 23th August is on Tuesday,
it will be on Wednesday next year

1 leap year = 366 days = (52 weeks + 2 days) = 2 odd days
100 years = 76 ordinary years + 24 leap years
= [(76*52) weeks+76 days] + [(24*52) weeks+48 days]
= 5200 weeks + 124 days
= 5217 weeks + 5 days
= 5 odd days
200 years = 10 odd days = 3 odd days
300 years = 15 odd days = 1 odd days
400 years = 20 + 1 odd days = 0 days

800 years = 0 odd days

Sunday is the 0th odd day, Monday the 1st odd day and so on*/

--------------------------------------------------------------------------------
 

 

 

Contribute content or training reports / feedback / Comments
job placement papers
All rights reserved ฉ copyright 123ENG