#include
#include
#include
#include
int a[31]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
int main()
{
int Leap(int );
int Month(int );
void print(int k,int t,int day);
int i,j=0,k,m,n,t=-6;
int day;
int total=1;
printf("請輸入年份:");
scanf("%d",&m);
printf("請輸入月份:");
scanf("%d",&n);
getchar();
do
{
system("cls");
printf("%d年%d月:\n",m,n);
total=365*(m-1);
for(i=1;i1)
total--;
if(total==0)
k=(total+1)%7;
else
k=(total+2)%7;
print(k,t,day);
printf("請選擇:");
switch(getch())
{
case '>':
if(n==12)
{
m++;
n=1;
}
else
n++;
break;
case '<':
if(n==1)
{
m--;
n=12;
}
else
n--;
break;
case '?':
printf("請輸入年份:");
scanf("%d",&m);
printf("請輸入月份:");
scanf("%d",&n);
break;
case '#':
j=1;
break;
}
if(j==1)
break;
putchar(10);
}while(1);
return 0;
}
int Month(int n)
{
int day;
switch(n)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 2:
day=28;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
default:
printf("您輸入的月份有錯, 請重新輸入!\n");
}
return day;
}
int Leap(int m)
{//閏年返回1,否則返回0。
int i=0;
if(m%4==0 && m%100!=0 || m%400==0)
i=1;
return i;
}
void print(int k,int t,int day)
{
FILE *fp;
if((fp=fopen("abc.txt","w"))==0)
{
printf("打開失敗\n");
exit(1);
}
int i;
printf("\n日 一 二 三 四 五 六\n");
fprintf(fp,"\n日 一 二 三 四 五 六\n");
printf("-------------------------------------------------------------\n");
fprintf(fp,"---------------------------------------------------------\n");
for(i=1;i<=k;i++)
{
printf(" ");
fprintf(fp," ");
}
for(i=0;i 下一個月 \n");
printf(" < 上一個月 \n");
printf(" ? 自定義年月 \n");
printf(" # 退出 \n");
printf("--------------------------\n");
fclose(fp);
}