这程序到底应该怎么编出很多功能的?还有那个输出的边框怎么做的。。头炸了。
年历显示。想要的是,能够这样显示出来,更好的是还能包括其它的功能,比如日程的添加删除及查看,返回菜单等一些功能。
#include<stdio.h>
int function1(int year){
int d=0;
if(year%400==0||year%4==0&&year%100!=0)
d=1;
return d;
}
int function2(int year){
int i,j,s=0,d;
j=year-1900;
for(i=0;i<j;i++)
s=s+365+function1(1900+i);
d=(s%7+1)%7;
return d;
}
void main(){
int i,j,k,m,n;
int b[42];
int c[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int year;
for(i=0;i<42;i++)
b[i]=0;
printf("请输入一个1900~2099后的一年:");
scanf("%d",&year);
if(year<1900||year>2099)
{
printf("输入年份不在范围内!");
printf("\n");
return 0;
}
printf("\n");
printf("请输入月份:");
scanf("%d",&n);
if(n<1||n>12)
{
printf("输入月份不在范围内!");
printf("\n");
return 0;
}
printf("\n");
m=function2(year);
c[1]=28+function1(year);
for(i=1;i<=12;i++){
for(k=0;k<c[i-1];k++){
b[m+k]=1+k;
}
m=(m+k)%7;
if(i==n){
printf("%d月 %d年\n",i,year);
printf("SUN MON TUE WED THU FIR SAT");
printf("\n");
for(k=0,j=0;k<42;k++)
{
if(b[k]==0)
printf(" ");
else
{
if(b[k]<10)
printf("%d ",b[k]);
else
printf("%d ",b[k]);
}
j++;
if(j==7)
{
j=0;
printf("\n");
}
}
printf("\n");
}
for(j=0;j<42;j++)
b[j]=0;
}
这样能显示出指定年份制定月份的日历,但是对上面的那个图,我实在无能为力。。。。求高手指点!