と言ってもただのカレンダーですけどねw
/*ここからソースコード*/
#include
#include
#define TRUE 1
#define FALSE 0
int get_year (void)
{
int year=2012;
printf ("西暦を入力してください");
scanf ("%d", &year);
return year;
}
int get_day_code (int year)
{
int day_code;
int x1, x2, x3;
x1 = (year - 1.)/ 4.0;
x2 = (year - 1.)/ 100.;
x3 = (year - 1.)/ 400.;
day_code = (year + x1 - x2 + x3) %7;
return day_code;
}
int get_leap_year (int year)
{
//if((year% 4) == 0 );
if(year% 4==0 && year%100 != 0 || year%400==0)
return TRUE;
else return FALSE;
}
void print_calendar (int year, int day_code, int leap_year) //function header
{
int days_in_month, /* number of days in month currently
being printed */
day, /* counter for day of month */
month; /* month = 1 is Jan, month = 2 is Feb, etc. */
printf (" %d", year);
for ( month = 1; month <= 12; month++ ) {
switch ( month ) { /* print name and set days_in_month */
case 1:
printf("\n\nJanuary" );
days_in_month = 31;
break;
case 2:
printf("\n\nFebruary" );
days_in_month = leap_year ? 29 : 28;
break;
case 3:
printf("\n\nMarch" );
days_in_month = 31;
break;
case 4:
printf("\n\nApril" );
days_in_month = 30;
break;
case 5:
printf("\n\nMay" );
days_in_month = 31;
break;
case 6:
printf("\n\nJune" );
days_in_month = 30;
break;
case 7:
printf("\n\nJuly" );
days_in_month = 31;
break;
case 8:
printf("\n\nAugust" );
days_in_month = 31;
break;
case 9:
printf("\n\nSeptember" );
days_in_month = 30;
break;
case 10:
printf("\n\nOctober" );
days_in_month = 31;
break;
case 11:
printf("\n\nNovember" );
days_in_month = 30;
break;
case 12:
printf("\n\nDecember" );
days_in_month = 31;
break;
}
printf("\n\nSun Mon Tue Wed Thu Fri Sat\n" );
/* advance printer to correct position for first date */
for ( day = 1; day <= 1 + day_code * 5; day++ )
printf(" " );
/* print the dates for one month */
for ( day = 1; day <= days_in_month; day++ ) {
printf("%2d", day );
0 ) /* before Sat? */
/* move to next day in same week */
printf(" " );
else /* skip to next line to start with Sun */
printf("\n " );
}
/* set day_code for next month to begin */
day_code = ( day_code + days_in_month ) % 7;
}
}
void main()
{
int year, day_code, leap_year;
year = get_year();
day_code = get_day_code (year);
leap_year = get_leap_year (year);
print_calendar(year, day_code, leap_year);
}
/*ここまでソースコード*/
/*また、endechest@yahoo.co.jpまでソースコードや、.cファイルを送っていただけると、うp主はわりと喜ぶかもしれません*/